HiveBrain v1.2.0
Get Started
← Back to all entries
patternpythonCriticalCanonical

Remove empty strings from a list of strings

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
emptyfromremovestringslist

Problem

I want to remove all empty strings from a list of strings in python.

My idea looks like this:

while '' in str_list:
    str_list.remove('')


Is there any more pythonic way to do this?

Solution

I would use filter:

str_list = filter(None, str_list)
str_list = filter(bool, str_list)
str_list = filter(len, str_list)
str_list = filter(lambda item: item, str_list)


Python 3 returns an iterator from filter, so should be wrapped in a call to list()

str_list = list(filter(None, str_list))

Code Snippets

str_list = filter(None, str_list)
str_list = filter(bool, str_list)
str_list = filter(len, str_list)
str_list = filter(lambda item: item, str_list)
str_list = list(filter(None, str_list))

Context

Stack Overflow Q#3845423, score: 1581

Revisions (0)

No revisions yet.