我是神奇蟒蛇世界的新人。
1)我需要一个数组(arrMtx),其中该向量的每个元素都是一个矩阵。 我如何声明数组arrMtx?
2)我想填充arrMtx我应该这样做:
mtx = [[0.0 for x in range(NUM_COLUMN)] for x in range(NUM_ROW)]
arrMtx[i] = mtx
你有什么建议吗?
答案 0 :(得分:0)
如果你想要一个2d数组(矩阵)列表:
num_matrices = 3 ## Let's say
ncol = 3
nrow = 3
arrMtx = [[[0 for j in range(ncol)] for i in range(nrow)] for k in range(num_matrices)]
输出:
>>>[[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]
答案 1 :(得分:0)
请尝试这一点,其中n
为否。 arrMtx
>>>[[[0.0 for x in range(NUM_COLUMN)] for x in range(NUM_ROW)]]*n #no. of elements
这意味着
>>>mtx = [[0.0 for x in range(NUM_COLUMN)] for x in range(NUM_ROW)]
>>>arrMtx = [mtx] * n
答案 2 :(得分:0)
NUM_COLUMN = 4
NUM_ROW = 2
NUM_MATRIX = 3
mtx = [[0.0 for x in range(NUM_COLUMN)] for x in range(NUM_ROW)]
arrMtx = [mtx for x in range(NUM_MATRIX)]
print arrMtx
输出:
[[[0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0]], [[0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0]]]
答案 3 :(得分:0)
在Python中,Lists的使用方式与vector in c++
类似。
在列表中,您可以根据需要append:
L = [0,1,2,3....]
追加清单后将是:
L.append('str')
L = [0,1,2,3,'str'....]
所以,你可以追加任何你想要的东西。
所以制作一个矩阵,需要list of list
,如:
L = [[....], [.....]....]
mtx = [[0.0 for x in range(NUM_COLUMN)] for x in range(NUM_ROW)]
此处 mtx 也是矩阵。您可以将添加到另一个列表中:
arrMtx = []
arrMtx.append(mtx)
问题1答案:
您可以声明array arrMtx
喜欢:
arrMtx = []
它创建了一个列表。然后你附加一个列表,它将是一个数组。