首页 > 解决方案 > 将矩阵转换为特定格式的原始字节

问题描述

我有以下矩阵

B = [[1,2], [3,4]]

并希望将矩阵存储为语法行,i j b_ij其中ij是矩阵索引,并且b_ij是该索引位置处的值。

也就是说,上面的矩阵看起来像:

0 0 1
0 1 2
1 0 3
1 1 4

无论如何用Python中的库来做到这一点?此外,这是将矩阵存储为原始字节的常用格式吗?我知道迭代矩阵以这种方式存储它很容易,但这似乎效率很低。

标签: pythonarraysmatrixmapreduce

解决方案


它不是一个库,但您可以只使用列表推导:

>>> B = [[1, 2], [3, 4]]
>>> matrix = [ [i, j, B[i][j]] for i in range(len(B)) for j in range(len(B[i])) ]
>>> print(matrix)
[[0, 0, 1], [0, 1, 2], [1, 0, 3], [1, 1, 4]]

如果您的矩阵比这更深,您还可以扩展for循环以执行类似的操作,或者将理解嵌套在彼此内部。B


推荐阅读