Python 如何删除字符串列表中的所有空白元素?

Python 如何删除字符串列表中的所有空白元素?,python,python-3.x,Python,Python 3.x,我有一个字符串列表,text=['He','was','siting','next','to me'] 我想从列表中删除空白元素' 我尝试过使用filter方法,但它只删除空元素 list(filter(None, text)) 我希望名单是这样的 ['He', 'was' ,'sitting','next','to me'] 现在,正如您正确指出的,list(filter(None,text))正在删除空字符串,而不是带有空格的字符串 要删除带有空格的字符串,可以从列表的每个元素中删除空格

我有一个字符串列表,
text=['He','was','siting','next','to me']

我想从列表中删除空白元素'

我尝试过使用filter方法,但它只删除空元素

list(filter(None, text))
我希望名单是这样的

['He', 'was' ,'sitting','next','to me']

现在,正如您正确指出的,
list(filter(None,text))
正在删除空字符串,而不是带有空格的字符串

要删除带有空格的字符串,可以从列表的每个元素中删除空格,然后进行比较,然后创建一个带有非空字符串的新列表

text= ['He', 'was', '' ,'sitting', ' ', 'next', ' ', 'to me']

print([item for item in text if item.strip()])

#Or using filter
#print(list(filter(lambda item:item.strip(), text)))
输出将是

['He', 'was', 'sitting', 'next', 'to me']

几乎正确,您只是使用了一个错误的谓词:

list(filter(str.strip, text))
#['He', 'was', 'sitting', 'next', 'to me']

或者我们可以更快地做到这一点

text= ['He', 'was', '' ,'sitting', ' ', 'next', ' ', 'to me']
print(' '.join(text).split()) # this will remove both whitespace element + whitespaces

OUTPUT:
['He', 'was', 'sitting', 'next', 'to', 'me']