Python中的N维矩阵数组(不同大小)
在Matlab中,有一个叫做结构体(struct)的东西,它可以让用户拥有一组动态的矩阵。
我基本上是在寻找一个函数,可以让我对不同大小的动态矩阵进行索引。
举个例子:(有3个矩阵)
- 矩阵1:3行2列
- 矩阵2:2行2列
- 矩阵3:2行1列
我想把这3个矩阵存储在同一个变量里,以便之后可以通过它们的索引号来调用(比如说 Matrix[1],Matrix[2])。但是传统的Python数组不允许将不同维度的数组堆叠在一起。
我考虑过创建类,但也许这里有人有更好的解决办法。
谢谢
2 个回答
0
把那些数组放到一个列表里。
7
你可以直接使用元组或列表。
元组 matrices = tuple(matrix1, matrix2, matrix3)
会稍微高效一些;
而列表 matrices = [matrix1, matrix2, matrix3]
更灵活,因为你可以用 matrix.append(matrix4)
来添加新的元素。
无论哪种方式,你都可以通过 matrices[0]
来访问它们,或者用 for matrix in matrices: pass # 做一些事情
来遍历它们。