什么是在不使用numpy的情况下在Python中初始化矩阵的最有效方法。例如,我想创建:
matrix = [
[[0,0],[0,0],[0,0]]
[[0,0],[0,0],[0,0]]
[[0,0],[0,0],[0,0]]
]
我正在创建一个:
dpcols = [[0,0]] * len(matrix[0])
matrix = [dpcols] * len(matrix)
但有了这个,如果我改变
matrix[1][1] = [1,1]
然后索引[0] [1],[1] [1]和[2] [1]全部变为[1,1],因为它们都被链接在一起。
答案 0 :(得分:3)
我认为这不如numpy有效,因为它是一个双循环,但它很容易写:
>>> rows,cols = 2,3
>>> a = [[[0,0] for c in range(cols)] for r in range(rows)]
>>> a
[[[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]]]
>>> a[1][1] = [1,1]
>>> a
[[[0, 0], [0, 0], [0, 0]], [[0, 0], [1, 1], [0, 0]]]