【发布时间】:2021-02-04 12:52:18
【问题描述】:
我正在寻找一种将N 矩阵从一个文件导入单个 3D 数组的方法。我知道每个矩阵的行数m 和列数n(分别列在两个列表m[N] 和n[N] 中)。
例如,我有 N=3 这样的矩阵:
1 2 3 4
5 6 7 8
9 10 11 12
1 2 3
4 5 6
7 8 9
10 11 12
1 2 3 4 5 6
7 8 9 10 11 12
它们分别是维度为3x4、4x3、2x6 的矩阵,因此在本例中为m = [3,4,2] 和n = [4,3,6]。
我会将它们存储在M[i][j][k] 类型的对象中,其中i,j,k 是分别标识矩阵、行和列的索引(在本例中为M[1][2][0]=7)。
例如在 C++ 中,这很容易做到:
ifstream file ("filename.txt");
for(int i = 0; i < N; i++)
for(int j = 0; j < m[i]; j++)
for(int k = 0; k < n[i]; k++)
file >> M[i][j][k];
file.close();
提前致谢。
【问题讨论】:
-
你检查过
numpy或nested python list吗? -
你能显示
M吗? -
@Epsi95,我通常使用 numpy.genfromtxt 但这里的问题是列数不同。嵌套python列表可能是正确的方法,但我不知道如何导入数据。
-
@python_user 对于上面的例子 M[1][2][0] 会给出 7
-
"我知道每个矩阵的行数 m 和列数 n。"这些 m 和 n 你是怎么得到的?
标签: python python-3.x matrix import