Python 移除';从列表中的字符串

Python 移除';从列表中的字符串,python,list,loops,for-loop,Python,List,Loops,For Loop,我试图删除或忽略字符串列表中的“符号(撇号)。我不知道我的for循环是完全错误还是什么: n = ["a", "a's", "aa's"] #example list for i in n: i.strip("'") strip在此不起作用使用replace In [9]: [i.replace("'",'') for i in lst] Out[9]: ['a', 'as', 'aas'] 这里有两个问题 第一,条目在字符串的中间不起作用,必须使用“替换”(“”、“”) 其次,

我试图删除或忽略字符串列表中的
符号(撇号)。我不知道我的for循环是完全错误还是什么:

n = ["a", "a's", "aa's"] #example list

for i in n:
    i.strip("'")

strip
在此不起作用使用
replace

In [9]: [i.replace("'",'') for i in lst]
Out[9]: ['a', 'as', 'aas']
这里有两个问题

  • 第一,<代码>条目在字符串的中间不起作用,必须使用“替换”(“”、“”)
  • 其次,更重要的是,字符串是不可变的。即使
    i.strip(…)
    做了您想要的,它也不会改变
    i
    。它只会产生一个新的字符串。因此,您必须存储该字符串
总结一下,试试类似的方法

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

.strip
仅从字符串的开头和结尾删除。还请注意,它返回一个新字符串,因此列表不会发生任何更改。除非您对其返回值执行某些操作,否则调用
strip
也不会产生任何效果。只需对n中的x执行
n=[x.replace(“”,”)
<由于上述注释中解释的原因,代码>条带在此处不起作用。