How to remove empty string in a list?

list, python

Solution

You can use `filter`, with `None` as the key function, which filters out all elements which are `False`ish (including empty strings)

>>> lst = ["He", "is", "so", "", "cool"]
>>> filter(None, lst)
['He', 'is', 'so', 'cool']

Note however, that `filter` returns a list in Python 2, but a generator in Python 3. You will need to convert it into a list in Python 3, or use the list comprehension solution.

`False`ish values include:

False
None
0
''
[]
()
# and all other empty containers

Problem

For example I have a sentence ``` "He is so .... cool!" ``` Then I remove all the punctuation and make it in a list. ``` ["He", "is", "so", "", "cool"] ``` How do I remove or ignore the empty string?

Original source