Я хочу взять вложенный списокКак мне изменить каждое значение вложенного вложенного списка рекурсивно и вернуть другой похожий список?
[[[1,2],[4,5]], 1, [1,3,4],[2,3,4]]
идти туда рекурсивно, изменять каждое значение, а затем возвращает аналогичный список. Например сказать, я хотел бы добавить 1 к каждому значению выходной будет
[[[2,3],[5,6]], 2, [2,4,5],[3,4,5]]
Я сделал некоторый прогресс, делая это с делать рекурсивную функцию, где я проверить, если это список или элемент для изменения. Я в тупике, когда дело доходит до того, как скомпилировать список еще раз. Разве нет простого способа сделать это? Следующий код - это то, что у меня есть.
def add1(nodelist):
list_of_lists = []
name_nodes.nodes = []
def recurse_list(nodelist):
name_nodes.nodes = []
edit_list = False
for r in nodelist:
if type(r) == list:
recurse_list(r)
else:
edit_list = True
name_nodes.nodes.append(r+1)
if edit_list == True:
list_of_lists.append(name_nodes.nodes)
recurse_list(nodelist)
return list_of_lists
Этот код заставляет меня следующий вывод
[[2, 3], [5, 6, 2], [2, 4, 5], [3, 4, 5], [3, 4, 5]]
Я удивлен, что это не какой-то модуль или некоторые встроенные функциональные возможности, чтобы лучше обрабатывать вложенные списки, потому что есть очень много вопросов обработки подобное, но другое поведение , Самый близкий вопрос, который я мог найти, - here. Но у меня просто не было того, что я искал. Спасибо за любые ответы.
«если это список или элемент [sic] для изменения» - это не всегда можно сделать в Python на 100% -ном уровне. –