N-мерный матричный массив в Python (с разными размерами) - PullRequest
2 голосов
/ 20 июля 2011

В Matlab есть нечто, называемое struct, которое позволяет пользователю иметь динамический набор матриц.

Я в основном ищу функцию, которая позволяет мне индексировать динамические матрицы, которые имеют разные размеры.

Пример: (с 3 матрицами)

  • Матрица 1: 3x2
  • Матрица 2: 2x2
  • Матрица 3: 2x1

По сути, я хочу сохранить 3 матрицы в одной переменной.Позвонить им по их порядковому номеру (например, Matrix [1], Matrx [2]).Обычные Python-массивы не позволяют собирать массивы с разными размерами.

Я искал создание классов, но, возможно, у кого-то есть лучшая альтернатива этому.

Спасибо

Ответы [ 2 ]

7 голосов
/ 20 июля 2011

Просто используйте кортеж или список.

Кортеж matrices = tuple(matrix1, matrix2, matrix3) будет немного более эффективным;

Список matrices = [matrix1, matrix2, matrix3] более гибок, чем вы можете matrix.append(matrix4).

В любом случае, вы можете получить к ним доступкак matrices[0] или for matrix in matricies: pass # do stuff.

0 голосов
/ 20 июля 2011

Поместите эти массивы в список .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...