如何切断最后一个空格?切断空格
解经由 list comprehensiona = ['Hello ','everybody ','! ']
for i in range(len(a)):
a[i,-1]=''
print a
如何切断最后一个空格?切断空格
解经由 list comprehensiona = ['Hello ','everybody ','! ']
for i in range(len(a)):
a[i,-1]=''
print a
:
>>> a = ['Hello ','everybody ','! ']
>>> [ e.strip() for e in a ]
['Hello', 'everybody', '!']
'strip()'从字符串的两端删除空格,仅删除尾部空格应该使用'rstrip()'(请参阅我的答案)。 – sastanin
print [x.strip() for x in a]
要切断只有最后(右)空格,使用rstrip()
方法。
>>> s = " abc "
>>> s.rstrip()
' abc'
>>> s.strip()
'abc'
在您的例子:strip()
从两端删除空格
>>> [s.rstrip() for s in ['Hello ','everybody ','! '] ]
['Hello', 'everybody', '!']
+1 * * * strip() – Kimvais
名单办法理解上面提到的将是Python的方式来解决这个问题,但他们不会改变列表本身(即a)。如果你想改变这些,你必须遍历因为你已经在列表上进行,而不是你的作业做一个
a[i] = a[i].rstrip() # For stripping off trailing whitespaces only.
这是当然的,坏的风格,我会建议以列表解析方法。
>>> a = ['Hello ','everybody ','! ']
>>> map(str.rstrip,a)
['Hello', 'everybody', '!']
>>> b = map(str.rstrip,a)
此版本不起作用 – kame
请注意,您的问题不明确。你真的只想要“最后的”空白空间吗?这意味着只能删除一个,即使有两个。或者你想要删除所有尾随空格吗? –
只有最后一个位置!谢谢彼得 – kame