如何切斷最後一個空格?切斷空格
解經由 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