Преобразование матрицы в необработанные байты в определенном формате

1

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

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

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

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

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

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

Теги:
arrays
matrix
mapreduce

1 ответ

0

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню