关于python:如何删除’列表中的字符串结尾的

How to remove '
' from end of strings inside a list?

本问题已经有最佳答案,请猛点这里访问。

我这里有两条线:

1
2
3
4
line= ['ABDFDSFGSGA', '32
'
]
line= ['NBMVA
'
]

如何从这些字符串的末尾删除
。我试过rstrip()strip(),但我仍然无法将
从字符串中删除。我能帮忙把它移走吗?


您需要访问要从列表中删除的元素:

1
2
3
4
5
line= ['ABDFDSFGSGA', '32
'
]

#We want to strip all elements in this list
stripped_line = [s.rstrip() for s in line]

你可能做错了,只是简单地称之为line[1].rstrip()。这不起作用,因为rstrip方法不在原地工作,而是返回一个被剥离的新字符串。

例子:

1
2
3
4
5
6
7
8
9
10
>>> a = 'mystring
'

>>> a.rstrip()
Out[22]: 'mystring'
>>> a
Out[23]: 'mystring
'

>>> b = a.rstrip()
>>> b
Out[25]: 'mystring'

行的类型是list,因此不能应用任何strip方法。strip方法用于字符串。

在这里,您需要迭代该列表,并对该列表中的每个字符串应用rstrip()方法。

1
2
3
4
>>> line= ['ABDFDSFGSGA', '32
'
]
>>> map(str.rstrip, line)
['ABDFDSFGSGA', '32']


您可以使用.replace('
','')
,但请注意,这将删除
的所有实例,如果您想对整个列表执行此操作,您只需执行以下操作:

1
2
line = [i.replace('
'
,'') for i in line]