如何从列表中删除空格

Thu*_* Ra 0 python string whitespace python-2.7

我想删除列表字符串的空格如下

original = ['16', '0000D1AE18', '1', '1', '1', 'S O S .jpg', '0']
Run Code Online (Sandbox Code Playgroud)

删除空格后

['16', '0000D1AE18', '1', '1', '1', 'SOS.jpg', '0']
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 6

str.translate()在列表理解中使用每个元素:

[v.translate(None, ' ') for v in original]
Run Code Online (Sandbox Code Playgroud)

None意味着不要将字符替换为其他字符,并且' '意味着完全删除空格.这会生成一个列表来替换原始列表.

以上只删除空格.要删除所有空格(换行符,制表符,供稿等),只需展开应删除的字符

[v.translate(None, ' \t\r\n\f\x0a') for v in original]
Run Code Online (Sandbox Code Playgroud)

str.translate() 是从文本中删除字符的最快选项.

演示:

>>> original = ['16', '0000D1AE18', '1', '1', '1', 'S O S .jpg', '0']
>>> [v.translate(None, ' \t\r\n\f\x0a') for v in original]
['16', '0000D1AE18', '1', '1', '1', 'SOS.jpg', '0']
Run Code Online (Sandbox Code Playgroud)