Найти - Пользователи
Полная версия: Удаление вложенных пустых списков
Начало » Python для новичков » Удаление вложенных пустых списков
1
polsovatel
Доброго времени суток!
Подскажите пожалуйста, как можно удалить вложенные пустые списки? Понятно, что с помощью рекурсии, но у меня не выходит.
Пример:
 [[[[]]]], [], 5] => [5]

Мой код:
 def del_null(x):
	for p in x:
		if isinstance(p, list) and len(p) != 0:
			del_null(p)
		elif isinstance(p, list):
			del p
py.user.next
  
>>> def f(lst):
...     out = []
...     for i in lst:
...         if isinstance(i, list):
...             if i:
...                o = f(i)
...                if o:
...                    out.append(o)
...         else:
...             out.append(i)
...     return out
... 
>>> f([[[[[]]]], [], 5])
[5]
>>> f([])
[]
>>> f([[]])
[]
>>> f([[], 1])
[1]
>>> f([[], [[1], []]])
[[[1]]]
>>>
polsovatel
Большое спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB