Собственно, вопрос - есть многоуровневый список:
list1 = [[['val1',
'val2',
"val3",
'val4',
'val5']],
[['val6', 'val7'],
['val8'],
["val9"],
['val10']]]
Как его оптимально распаковать (получить list2 = ['val1', 'val2', 'val3', 'val4' ...] ). Можно ли это сделать не прибегая (как я делаю сейчас) к многоуровневым циклам, хотелось бы иметь короткую и элегантную альтернативу... )
Рекурсия.
Итерируете по всем элементам списка проверяете 'а не список ли текущий элемент', если нет добавляете его к list2, если же да - проводите эту же операцию уже по этому списку