2015-10-08 2 views
-4

Я пытаюсь удалить нулевые значения из приведенного ниже списка, но не могу этого сделать. Пожалуйста помоги.Удаление нулевых значений из списка в Python

>>> xx 
[[], [], [], [], [], [], ['5'], [], [], [], [], []] 

>>> type(xx) 
<type 'list'> 
+0

В чем вопрос? Какой смысл показывать результаты типа и директории? –

+0

Итак, где вы пытаетесь удалить нулевые значения? –

+0

Извините @ DanielRoseman, что случайно подошло. Удалили. –

ответ

1

Просто создайте список без нежелательных значений (без пустых списков).

Список постижение

xx = [el for el in xx if el] 

С filter() и lambda:

xx = filter(lambda x: x, xx) 
+0

'хх = фильтр (BOOL, хх)' еще проще. – ojii

+0

Спасибо. Это действительно работает, но можете ли вы объяснить, что он на самом деле делает. Я знаю, что это нарезка, но все же простое объяснение будет полезно –

+0

@fear_matrix это просто понимание списка с условием –

0

Пожалуйста, попробуйте следующий код.

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 
+0

Это не отличное решение ... Ответ пользователя3990145 - это путь. – Gall

Смежные вопросы