python - 如何在 Python 中初始化一个二维数组?

标签 python multidimensional-array

我正在开始使用 python,我正在尝试使用一个二维列表,我最初在每个地方都用相同的变量填充。我想出了这个:

def initialize_twodlist(foo):
    twod_list = []
    new = []
    for i in range (0, 10):
        for j in range (0, 10):
            new.append(foo)
        twod_list.append(new)
        new = []

它给出了预期的结果,但感觉像是一种解决方法。有没有更简单/更短/更优雅的方法来做到这一点?

最佳答案

不要使用[[v]*n]*n,这是个陷阱!

>>> a = [[0]*3]*3
>>> a
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> a[0][0]=1
>>> a
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]

但是

    t = [ [0]*3 for i in range(3)]

效果很好。

关于python - 如何在 Python 中初始化一个二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2397141/

相关文章:

python - PyMongo vs MongoEngine for Django

python - 比较python中的多维数组

java - 将 CSV 文件转换为 Java - 向后复制

algorithm - 将二维数组旋转 90 度

java - 我可以使用单个数组来填充创建多维数组吗?

Python将文件内容转换为unicode形式

python,按大小从字典中读取键,以绘制它们

Python 随机不工作

python - 所有类方法中的类变量访问

c++ - 在 C++ 中使用动态多维数组