切断空地

时间:2009-12-27 17:08:10

标签: python string

我怎样才能切断最后一个空位?

a = ['Hello ','everybody ','! ']
for i in range(len(a)):
    a[i,-1]=''

print a

5 个答案:

答案 0 :(得分:10)

要仅切断最后(右)空格,请使用rstrip()方法。 strip()从两端删除空格:

>>> s = " abc "
>>> s.rstrip()
' abc'
>>> s.strip()
'abc'

在你的例子中:

>>> [s.rstrip() for s in ['Hello ','everybody ','! '] ]
['Hello', 'everybody', '!']

答案 1 :(得分:5)

通过list comprehension解决方案:

>>> a = ['Hello ','everybody ','! ']
>>> [ e.strip() for e in a ]
['Hello', 'everybody', '!']

文档:string.strip / string.rstripstring.lstrip分别

答案 2 :(得分:1)

print [x.strip() for x in a]

这称为list comprehension

答案 3 :(得分:1)

上面提到的列表理解方法将是解决这个问题的Pythonic方法,但它们不会改变列表本身(即a)。如果你想改变它们,你必须按照你在列表上的方式进行迭代而不是你的任务做一个

a[i] = a[i].rstrip() # For stripping off trailing whitespaces only. 

这当然是糟糕的风格,我也会推荐基于列表理解的方法。

答案 4 :(得分:0)

>>> a = ['Hello ','everybody ','! ']
>>> map(str.rstrip,a)
['Hello', 'everybody', '!']
>>> b = map(str.rstrip,a)