Я пытаюсь создать список «путей» для каждого элемента в _list. например, список ввода:создание путей дерева данных, рекурсивно итерация по вложенным спискам в python
_list = [[x,x,x], [[x,x,x],[x,x,x]], [x,x,x]]
желаемый результат:
_list = [\
[[0,0,0],[0,0,0],[0,0,0]], \
[[[0,1,0],[0,1,0],[0,1,0]],[[0,1,1],[0,1,1],[0,1,1]]] \
[[0,2,0], [0,2,0], [0,2,0]]]
идея заключается в том, что я создаю путь к дереву данных похожее на это:
http://studiomaven.org/images/2/2c/Grasshopper_Data_Tree.png
где первый ветвь равна 0. тогда, поскольку _list имеет три (3) списка в ней, тогда ветви первого второго уровня - [0,0] [0,1] и [0,2], тогда, когда [0,1] имеет еще один список в это тогда другое уровень должен быть добавлен, когда все элементы в первой ветви равны [0,0,0], вторые - [0,1,0] и [0,1,1], поскольку в этой ветви есть два списка, а затем последняя ветвь [0,2,0].
Пример 2: Входной сигнал:
_list = [x,x,x,x]
Выход:
_list = [[0],[0],[0],[0]]
Пояснение: Так как его единый список глубина вся информация находится на первом [0] ветви. Каждый элемент х имеет путь [0]
Пример 3: Входной сигнал:
_list = [[x,x,x],[x,x,x]]
Выход:
_list = [[[0,0],[0,0],[0,0]],[[0,1],[0,1],[0,1]]]
Пояснение: _List содержит два списка, чтобы первая ветвь 0 имеет еще две ветви в теме. В этом случае все элементы на этой ветви уровня равны [0,0] и на второй ветви [0,1].
Это можно сделать рекурсивно каким-то образом, что будет работать с любой глубиной/сложностью списка списков?
Я понимаю, что это не ошибка/проблема, но я немного нуб, и рекурсивные функции по-прежнему остаются загадкой для меня. Любая помощь будет высоко ценится. Даже простой псевдо-код, чтобы начать меня. спасибо,
Я подозреваю, что никто не понял смысл описания проблемы. Если вам все еще нужен ответ, не могли бы вы попытаться быть более ясными или опубликовать ссылку на источник? – gboffi
Я не уверен, что такое правильный термин, но как «индексирование вложенного списка», но вместо того, чтобы отметить только глубину элемента, он создает список с номером для каждого списка/подписок. Приведу еще один пример. Кроме того, ссылка на изображение является довольно хорошим описанием того, что такое путь дерева данных. – konrad
Является ли «Кузнечик» в вашей ссылке ссылкой на «Кузнечик АЛГОРИТМНОЕ МОДЕЛИРОВАНИЕ ДЛЯ RHINO» _? Если я прав, возможно, добавление тега 'rhino' в ваши теги может быть действительно полезным? – gboffi