Python中的N维矩阵数组(不同大小)

2 投票
2 回答
4874 浏览
提问于 2025-04-16 21:54

在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 # 做一些事情 来遍历它们。

撰写回答