Предположим, у меня есть следующая структура данных:
[[ tuple11,
tuple12,
... ],
[ tuple21,
tuple22,
... ],
...]
То есть внешний список может иметь любое количество элементов и каждый элемент (список) может содержать любое количество элементов (кортежей). Как я могу преобразовать его в:
[[ tuple11,
tuple21,
... ],
[ tuple12,
tuple22,
... ],
... ]
У меня есть следующее решение, работающее для двух элементов во внешнем списке, но я не могу понять, как его обобщить:
map(lambda x, y: [x, y], *the_list)
Добавлено:
Просто чтобы добавить больше деталей, каждый из приведенных выше кортежей на самом деле является кортежем из двух np.array
.
Если я начну со следующей структуры данных:
[[(array([111, 111]), array([121, 121])),
(array([112, 112]), array([122, 122])),
(array([131, 131]), array([141, 141])),
(array([132, 132]), array([142, 142]))],
[(array([211, 211]), array([221, 221])),
(array([212, 212]), array([222, 222])),
(array([231, 231]), array([241, 241])),
(array([232, 232]), array([242, 242]))]]
Мне нужно превратить это в:
[[(array([111, 111]), array([121, 121])),
(array([211, 211]), array([221, 221]))],
[(array([112, 112]), array([122, 122])),
(array([212, 212]), array([222, 222]))],
[(array([131, 131]), array([141, 141])),
(array([231, 231]), array([241, 241]))],
[(array([132, 132]), array([142, 142])),
(array([232, 232]), array([242, 242]))]]
Обратите внимание, что массивы не всегда 1✕2, а обычно 1✕N для любого положительного N. Всегда есть два массива в каждом кортеже, но любое количество кортежей в каждом внутреннем списке и любое количество этих внутренних списков во внешнем списке.
Я привык манипулировать массивами NumPy, но у меня очень мало опыта работы с нативными списками, кортежами и т. д.
tuple11
и т. д. на самом деле является кортежем из двух 1x2np.array
, и, по-видимому, ваш подход заканчивается объединением этих массивов в 2x2np.array
. Я добавляю дополнительную информацию к вопросу, чтобы прояснить это... 28.07.2015