Python - 未完全预定义的二维数组仅覆盖所有元素

Python - not exactly predefined 2D Array overwrites just all elements

嘿,我想创建一个没有预定义长度的 2d-Array,然后替换元素。 没有 使用numpy.

这是一个简化的版本,我的问题是:

>>> test = 2*[2*[0]]
>>> test[0][0] = "Hello"
>>> print(test)
[['Hello', 0], ['Hello', 0]]

这是我想要的输出:

[['Hello', 0], [0, 0]]

尝试创建包含显式元素的列表

test = list([list([0 for i in range(2)]) for j in range(2)])

这是因为您要创建内存地址的副本,要创建二维数组,您必须使用列表理解

test = [[0 for i in range(2)] for j in range(2)]

试试这个