Преобразование матрицы в необработанные байты в определенном формате - PullRequest
0 голосов
/ 10 октября 2018

У меня есть следующая матрица

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

, и я хотел бы сохранить матрицу в виде строк синтаксиса i j b_ij, где i и j - индексы матрицы, а b_ij - этозначение в этой индексированной позиции.

То есть приведенная выше матрица будет выглядеть следующим образом:

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

Есть ли в любом случае сделать это с библиотекой в ​​Python?Кроме того, это общий формат для хранения матрицы в виде необработанных байтов?Я знаю, что достаточно просто перебрать матрицу, чтобы сохранить ее таким образом, но это кажется довольно неэффективным.

1 Ответ

0 голосов
/ 10 октября 2018

Это не библиотека, но вы можете просто использовать понимание списка:

>>> 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 идет глубже, чем это.

...