Python 3.x 删除列表中的空字符串

Python 3.x 删除列表中的空字符串,python-3.x,list,Python 3.x,List,我在表格里有一张清单 lst = ['', 'how', '', 'are', 'you', ''] 想把它转换成 lst = ['how','are', 'you'] 我目前使用了代码ListFilterOne,lst,但没有返回任何更改。如何删除空字符串?是否再次打印lst?你的代码对我有用 lst = ['', 'how', '', 'are', 'you', ''] lst = list(filter(None,lst)) print(lst) 输出['how','are','yo

我在表格里有一张清单

lst = ['', 'how', '', 'are', 'you', '']
想把它转换成

lst = ['how','are', 'you']
我目前使用了代码ListFilterOne,lst,但没有返回任何更改。如何删除空字符串?

是否再次打印lst?你的代码对我有用

lst = ['', 'how', '', 'are', 'you', '']
lst = list(filter(None,lst))
print(lst)

输出['how','are','you']

在这里,您忘记对这类东西进行筛选:

lst = ['', 'how', '', 'are', 'you', '']
lst = list(filter(None, lst))
print(lst)

将列表定义为ListFilterOne,lst

一个简单可行的解决方案如下:

lst = ['', 'how', '', 'are', 'you', '']

lst = [element for element in lst if element != '']

现在,lst是['how','are','you']

您的代码必须工作,但另一个解决方案是使用lambdas:

lst = list(filter(lambda x: x != '', lst))
print(lst)

输出:['how','are','you']

listfilterNone,lst对我有效。过滤器不适用,你需要将其分配回lstI love comprehensions。您可能会考虑放弃!=因为它在技术上是不需要的。@JonSG提到为什么它在技术上是不需要的是很有帮助的,因为如果你还不知道它,它不会立即显现出来,因为谢谢你的回复。事实上,我的列表是lst=['',how','',are',you',''。请注意,空字符串之间有一个空格,与我之前写的不同。筛选函数不会删除它们。我应该假设['']实际上不是一个空字符串吗?谢谢@dgrana。我的列表在空字符串中有空格。这个问题我写得不好。lst=[''如何',''是',''你',''。你的解决方案很有效。谢谢