В Python (также используя numpy) У меня есть список списков списков, каждый из которых имеет разную длину.Ввод неполных вложенных списков в прямоугольный ndarray
[
[
["header1","header2"],
["---"],
[],
["item1","value1"]
],
[
["header1","header2","header3"],
["item2","value2"],
["item3","value3","value4","value5"]
]
]
Я хочу, чтобы сделать эту структуру данных прямоугольное: то есть гарантия, что len(list[x])
постоянна для всех x
, len(list[x][y])
постоянна для всех х, у и т.д.
(Это потому, что я хочу, чтобы импортировать структура данных в numpy)
Я могу придумать различные непитонические способы совершения такой вещи (перебирать структуру, записывать максимальную длину на каждом уровне, иметь второй проход и значения пэда с None
, но должен быть лучший способ.
(Я также хотел бы, чтобы решение не зависело от размерности структуры; то есть он должен также работать над списками таких структур ...)
Есть ли простой способ сделать это, что мне не хватает?
У вас есть три уровня списков здесь - то, что уровни это нужно, чтобы быть прямоугольным на? (Или кубический, я думаю, для всех трех). –
Что вы собираетесь делать с данными, когда они находятся в NumPy? –
Lattyware: все они; структура данных, которую я хочу в конце, должна описываться как кубик x-by-y-by-z. KarlKnechtel: Используя многомерный срез Numpy, определите те данные, которые меня действительно интересуют, на основе таких вещей, как «в том же столбце, что и строка« Мои данные »в той же строке, что и строка« Header Row ». –