我怎样才能切断最后一个空位?
a = ['Hello ','everybody ','! ']
for i in range(len(a)):
a[i,-1]=''
print a
答案 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', '!']
答案 2 :(得分:1)
print [x.strip() for x in a]
答案 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)