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)]
试试这个
嘿,我想创建一个没有预定义长度的 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)]
试试这个