Страницы

Поиск по вопросам

среда, 18 декабря 2019 г.

Удаление пустых элементов списка python

#python #python_3x


Извините за глупый вопрос, но как удалить пустые элементы из списка в пайтоне?
    


Ответы

Ответ 1



Для начала стоит формализовать, что такое "пустой" элемент. "Пустыми" можно считать многие элементы, например, [], (), {}, set(), '' в том числе None, 0, 0.0, 0j, False Если требуется выбросить из коллекции все такие элементы, то можно воспользоваться генератором списка [value for value in values if value] Или, если список не требуется, генераторным выражением: (value for value in values if value) Если правило определения "пустого" элемента более сложное, достаточно описать это правило после оператора if в указанных выше выражениях, например, [value for value in values if value != [None]] оставит в списке элементы, которыне не равны списку, содержащему None (важно заметить, что такой список будет пропущен в итоговый набор в первых случаях).

Ответ 2



Например, через генератор списков: mylist = [x for x in mylist if x] Вместо последнего x можно написать x is not None, если нули и пустые строки не должны считаться пустыми элементами.

Ответ 3



Следующий способ будет быстрее (для python 2.7): filter(None, mylist) а если вы используете python3, то необходимо использовать следующую конструкцию: list(filter(None, mylist)) так как filter на python3 возвращает генератор

Комментариев нет:

Отправить комментарий