Удалить строки, содержащие только пробелы из списка

Как удалить пустые строки из списка? Я пробовал вот так:

starring = ['Vashu Bhagnani', 'Khemchand Bhagnani', ' ', 'Jacky Bhagnani', ' ', 'Prashant Shah', ' '] output = filter(bool, starring) 

Результат, который я хочу:

 ['Vashu Bhagnani', 'Khemchand Bhagnani', 'Jacky Bhagnani', 'Prashant Shah'] 

Но output заканчивается тем же, что и input . Какова правильная функция для filter ?

3 Solutions collect form web for “Удалить строки, содержащие только пробелы из списка”

Только пустая строка вычисляет значение False поэтому вам нужно использовать strip() для удаления любых пробелов, и тогда мы можем полагаться на непустые строки, которые оцениваются как истинные.

 >>> starring = ['Vashu Bhagnani', 'Khemchand Bhagnani', ' ', 'Jacky Bhagnani', ' ', 'Prashant Shah', ' '] >>> starring = filter(lambda name: name.strip(), starring) >>> starring ['Vashu Bhagnani', 'Khemchand Bhagnani', 'Jacky Bhagnani', 'Prashant Shah'] 

Хотя понимание списка может быть проще:

 >>> [name for name in starring if name.strip()] ['Vashu Bhagnani', 'Khemchand Bhagnani', 'Jacky Bhagnani', 'Prashant Shah'] 

Вы можете удалить конечные и ведущие пробелы, что приведет к пустой строке, если она содержит только те.

Понимание списка:

 l = [x for x in l if x.strip()] 

С filter и operator.methodcaller [docs] :

 l = filter(operator.methodcaller('strip'), l) 

или проще:

 l = filter(str.strip, l) 

operator.methodcaller был бы единственным способом, если вы хотите передать дополнительные аргументы методу.

 s = ['Vashu Bhagnani', 'Khemchand Bhagnani', '', 'Jacky Bhagnani', '', 'Prashant Shah', ''] [a for a in s if len(a) > 0] 
  • в чем разница между del a и a = , когда я хочу удалить список, называемый a в python?
  • Модули между несколькими версиями Python Linux
  • parent-> дочерние отношения в appengine python (bigtable)
  • Загрузка изображений с Google Диска
  • Фильтрация по имени ключа объекта в Google App Engine на Python
  • Почему у Python нет истинных констант? Разве это не опасно?
  • urlfetch перенаправлен в бесконечный цикл в python
  • Узнайте, сколько значений возвращаемое значение будет распаковано
  •  
    Interesting Posts for Van-Lav

    Расширяемая и сжимающая рама в Tkinter

    Есть ли список сторонних библиотек Python 3?

    Мониторинг содержимого файлов / каталогов?

    Как построить временные метки в python, используя matplotlib?

    Получение меток tkinter для обновления при изменении переменных

    TensorFlow freeze_graph.py: имя «save / Const: 0» относится к тензору, который не существует

    писать отдельные биты в файл в python

    Динамическое создание меню в Tkinter. (лямбда-выражения?)

    Какое исключение можно повысить, если неверное количество аргументов передано в ** args?

    Как получить путь к текущему исполняемому файлу в Python?

    Сохранение Python Маринованные объекты в MySQL db

    Как сделать несколько графиков на одной странице с помощью matplotlib?

    Является ли более эффективной память для установки переменных в «None» в python?

    Можно ли заставить панды не преобразовывать тип данных при использовании DataFrame.replace

    Python Dataframe rolling_sum с номерами, не указанными

    Python - лучший язык программирования в мире.