Python 切断空位

Python 切断空位,python,string,Python,String,我怎样才能切断最后一个空白 a = ['Hello ','everybody ','! '] for i in range(len(a)): a[i,-1]='' print a 解决方案通过: 文档:/,分别通过以下途径解决: print [x.strip() for x in a] 文件:/ print [x.strip() for x in a] 这叫做 这被称为要仅切断最后(右)个空格,请使用rstrip()方法strip()从两端删除空格: >>> s

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

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

print a
解决方案通过:

文档:/,分别通过以下途径解决:

print [x.strip() for x in a]
文件:/

print [x.strip() for x in a]
这叫做

这被称为

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

>>> s = " abc "
>>> s.rstrip()
' abc'
>>> s.strip()
'abc'
在您的示例中:

>>> [s.rstrip() for s in ['Hello ','everybody ','! '] ]
['Hello', 'everybody', '!']
要仅切断最后(右)个空格,请使用
rstrip()
方法
strip()
从两端删除空格:

>>> s = " abc "
>>> s.rstrip()
' abc'
>>> s.strip()
'abc'
在您的示例中:

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

上面提到的列表理解方法是解决这个问题的python方法,但它们不会改变列表本身(即a)。如果你想改变这些,你必须像在列表上做的那样进行迭代,而不是进行赋值

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

当然,这是一种糟糕的风格,我也建议使用基于列表理解的方法。

上述列表理解方法将是解决这个问题的Pythonic方法,但它们不会改变列表本身(即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)

当然,这是一种糟糕的风格,我也建议使用基于列表理解的方法。

此版本无效。请注意,您的问题模棱两可。你真的只想要最后一个空的空间吗?这意味着只移除一个,即使有两个。还是要删除所有尾随空格?仅删除最后一个位置!谢谢Peter@kame,好的,但是你已经接受了一个答案,这个答案包含任意数量的空格(空格、制表符、换行符等),而不仅仅是一个空格。这个版本不起作用。请注意,你的问题模棱两可。你真的只想要最后一个空的空间吗?这意味着只移除一个,即使有两个。还是要删除所有尾随空格?仅删除最后一个位置!谢谢Peter@kame,好的,但是您已经接受了一个答案,它不只是一个空格,而是包含任意数量的空格(空格、制表符、换行符等)。
strip()
从字符串两端移除空格,以仅移除尾随空格
rstrip()
应该使用(请参见我的答案)。
strip()
删除字符串两端的空格,若要仅删除尾随空格,则应使用
rstrip()
(请参见我的答案)。
>>> a = ['Hello ','everybody ','! ']
>>> map(str.rstrip,a)
['Hello', 'everybody', '!']
>>> b = map(str.rstrip,a)