在python中初始化矩阵的最有效方法

时间:2017-03-15 20:27:17

标签: python matrix

什么是在不使用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],因为它们都被链接在一起。

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]]]