Я пытаюсь удалить нулевые значения из приведенного ниже списка, но не могу этого сделать. Пожалуйста помоги.Удаление нулевых значений из списка в Python
>>> xx
[[], [], [], [], [], [], ['5'], [], [], [], [], []]
>>> type(xx)
<type 'list'>
Я пытаюсь удалить нулевые значения из приведенного ниже списка, но не могу этого сделать. Пожалуйста помоги.Удаление нулевых значений из списка в Python
>>> xx
[[], [], [], [], [], [], ['5'], [], [], [], [], []]
>>> type(xx)
<type 'list'>
Просто создайте список без нежелательных значений (без пустых списков).
Список постижение
xx = [el for el in xx if el]
С filter()
и lambda
:
xx = filter(lambda x: x, xx)
'хх = фильтр (BOOL, хх)' еще проще. – ojii
Спасибо. Это действительно работает, но можете ли вы объяснить, что он на самом деле делает. Я знаю, что это нарезка, но все же простое объяснение будет полезно –
@fear_matrix это просто понимание списка с условием –
Пожалуйста, попробуйте следующий код.
xx = [[], [], [], [], [], [], ['5'], [], [], [], [], []]
yy = []
def remove_if_null(xx):
for i in xx:
if i:
yy.append(i)
remove_if_null(xx)
xx = yy
print xx
print yy
Это не отличное решение ... Ответ пользователя3990145 - это путь. – Gall
В чем вопрос? Какой смысл показывать результаты типа и директории? –
Итак, где вы пытаетесь удалить нулевые значения? –
Извините @ DanielRoseman, что случайно подошло. Удалили. –