如何删除列表中字符串中的所有空格

no1*_*no1 2 python

我的清单是这样的,

mylist=[ " ","abc","bgt","llko","    ","hhyt","  ","      ","iuyt"]
Run Code Online (Sandbox Code Playgroud)

如何删除此列表中包含字符串的所有空格?

eds*_*ufi 11

你可以使用列表理解:

 new_list = [elem for elem in mylist if elem.strip()]
Run Code Online (Sandbox Code Playgroud)

使用strip()保证即使只包含多个空格的字符串也将被删除.


fal*_*tru 7

filter未绑定方法 一起使用str.strip.

Python 2.x

>>> mylist=[ " ","abc","bgt","llko"," ","hhyt"," "," ","iuyt"]
>>> filter(str.strip, mylist)
['abc', 'bgt', 'llko', 'hhyt', 'iuyt']
Run Code Online (Sandbox Code Playgroud)

Python 3.x

>>> mylist=[ " ","abc","bgt","llko"," ","hhyt"," "," ","iuyt"]
>>> list(filter(str.strip, mylist))
['abc', 'bgt', 'llko', 'hhyt', 'iuyt']
Run Code Online (Sandbox Code Playgroud)


Vik*_*kez 5

只需使用过滤器即可None

filter(None, mylist)
Run Code Online (Sandbox Code Playgroud)

如果空字符串是指仅包含空白字符的字符串,那么您应该使用:

filter(str.strip, mylist)
Run Code Online (Sandbox Code Playgroud)

例子:

>>> filter(None, ['', 'abc', 'bgt', 'llko', '', 'hhyt', '', '', 'iuyt'])
['abc', 'bgt', 'llko', 'hhyt', 'iuyt']
>>> filter(str.strip, [' ', 'abc', 'bgt', 'llko', ' ', 'hhyt', ' ', ' ', 'iuyt'])
['abc', 'bgt', 'llko', 'hhyt', 'iuyt']
Run Code Online (Sandbox Code Playgroud)