在python中初始化矩阵的最有效方法
在Python中,不使用numpy初始化矩阵最有效的方法是什么。例如,我想创建:在python中初始化矩阵的最有效方法,python,matrix,Python,Matrix,在Python中,不使用numpy初始化矩阵最有效的方法是什么。例如,我想创建: 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 = [
[[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],因为它们都链接在一起。我认为这不如numpy有效,因为它是双for循环,但很容易编写:
>>> 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]]]
我认为这不如numpy有效,因为它是一个双for循环,但很容易编写:
>>> 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]]]
为什么不使用numpy的要求?这只是一个限制,不能使用某些库为什么不使用numpy的要求?这只是一个限制,不能使用某些库
matrix=[[0,0]for u-in-range(cols)]for u-in-range(rows)]
在他的用例中,他想知道是否有其他方法不使用2个循环,但我想这是我能做的最好的了。感谢您在他的用例中提供的帮助matrix=[[0,0]for uu-in-range(cols)]for u-in-range(rows)]
我想知道是否还有其他方法不使用2个循环,但我想这是我能做的最好的了。谢谢你的帮助