Python: 从列表对象中删除空格

19 浏览
0 Comments

Python: 从列表对象中删除空格

这个问题已经有答案了:

从字符串列表中删除行尾空白符

我有一个从mysql数据库附加的对象列表,并且包含空格。我希望像下面这样删除空格,但我使用的代码无法工作?

hello = ['999 ',' 666 ']
k = []
for i in hello:
    str(i).replace(' ','')
    k.append(i)
print k

admin 更改状态以发布 2023年5月21日
0
0 Comments

列表推导式[num.strip() for num in hello]是最快的。

>>> import timeit
>>> hello = ['999 ',' 666 ']
>>> t1 = lambda: map(str.strip, hello)
>>> timeit.timeit(t1)
1.825870468015296
>>> t2 = lambda: list(map(str.strip, hello))
>>> timeit.timeit(t2)
2.2825958750515269
>>> t3 = lambda: [num.strip() for num in hello]
>>> timeit.timeit(t3)
1.4320335103944899
>>> t4 = lambda: [num.replace(' ', '') for num in hello]
>>> timeit.timeit(t4)
1.7670568718943969

0
0 Comments

Python中的字符串是不可变的(意味着它们的数据不能被修改),因此replace方法不会修改字符串-它返回一个新字符串。您可以按以下方式修复您的代码:

for i in hello:
    j = i.replace(' ','')
    k.append(j)

然而,实现您的目的的更好的方法是使用列表推导。例如,以下代码使用strip从列表中的每个字符串中删除前导和尾随空格:

hello = [x.strip(' ') for x in hello]

0