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?
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))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With