在python中声明矩阵数组

时间:2015-10-30 12:46:34

标签: python arrays matrix declaration

我是神奇蟒蛇世界的新人。

1)我需要一个数组(arrMtx),其中该向量的每个元素都是一个矩阵。 我如何声明数组arrMtx?

2)我想填充arrMtx我应该这样做:

mtx = [[0.0 for x in range(NUM_COLUMN)] for x in range(NUM_ROW)] 
arrMtx[i] = mtx

你有什么建议吗?

4 个答案:

答案 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 = []

它创建了一个列表。然后你附加一个列表,它将是一个数组。