Python 如何删除'\n';从列表中字符串的末尾开始?

Python 如何删除'\n';从列表中字符串的末尾开始?,python,Python,我这里有两个字符串: line= ['ABDFDSFGSGA', '32\n'] line= ['NBMVA\n'] 如何从这些字符串的末尾删除\n。我已经尝试了rstrip()和strip(),但仍然无法从字符串中删除\n。可以帮助我删除它吗?您需要访问要从列表中删除的元素: line= ['ABDFDSFGSGA', '32\n'] #We want to strip all elements in this list stripped_line = [s.rstrip() for s

我这里有两个字符串:

line= ['ABDFDSFGSGA', '32\n']
line= ['NBMVA\n']

如何从这些字符串的末尾删除
\n
。我已经尝试了
rstrip()
strip()
,但仍然无法从字符串中删除
\n
。可以帮助我删除它吗?

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

line= ['ABDFDSFGSGA', '32\n']

#We want to strip all elements in this list
stripped_line = [s.rstrip() for s in line]
您可能做错了,只需调用
行[1].rstrip()
。这将不起作用,因为
rstrip
方法不起作用,而是返回一个新的字符串,该字符串被剥离

例如:

>>> a = 'mystring\n'
>>> a.rstrip()
Out[22]: 'mystring'
>>> a
Out[23]: 'mystring\n'
>>> b = a.rstrip()
>>> b
Out[25]: 'mystring'

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

line = [i.replace('\n','') for i in line]

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

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

>>> line= ['ABDFDSFGSGA', '32\n']
>>> map(str.rstrip, line)
['ABDFDSFGSGA', '32']

向我们展示您尝试过的实际代码。您走在正确的道路上…请重试
map(str.rstrip,line)
给我
['abdfsfgsga','32']
提示:您没有字符串,但有字符串列表。我尝试了line.remove('\n')以及line.rstrip('\n')还有line.strip(),谢谢,但请将其编辑到问题中,然后我们都可以看到什么不起作用:)没有否决票,但是,如果代码< >行是一个字符串,这将在字符串中间删除<代码> \n>代码>。这对列表无效。代码>属性错误:“列表”对象没有属性“替换”很抱歉,我没有仔细查看。我编辑了我的答案,为列表工作。不用担心:)。那是个鬼鬼祟祟的家伙!OP表示他想从字符串末尾删除
\n
,因此我不确定这个答案是否适合这个问题。