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(“”,”)
<由于上述注释中解释的原因,代码>条带在此处不起作用。