Python 循环浏览两个列表,如果找到,则替换值
我有两个列表需要循环浏览。一个是我想从另一个列表(REPLACE_list)中去掉的值列表,另一个列表就是数据Python 循环浏览两个列表,如果找到,则替换值,python,string,list,replace,Python,String,List,Replace,我有两个列表需要循环浏览。一个是我想从另一个列表(REPLACE_list)中去掉的值列表,另一个列表就是数据 REPLACE_LIST = ['\'','[','[','\\','\"',',','〈','(',')','♬','➡', '!','…','。','!','〉','?','~','?','《','》','≪','≫','',']','\\n'] t=['♬(オープニングテーマ)\n', '〈頃は 昔々➡\n'] 我试过这样的方法 for char in REP
REPLACE_LIST = ['\'','[','[','\\','\"',',','〈','(',')','♬','➡',
'!','…','。','!','〉','?','~','?','《','》','≪','≫','',']','\\n']
t=['♬(オープニングテーマ)\n', '〈頃は 昔々➡\n']
我试过这样的方法
for char in REPLACE_LIST:
for i in t:
if char in i:
i = i.replace(char, ' ')#I want to get rid of the characters
但这是行不通的
我怎样才能更好地做到这一点
为了澄清,我希望“t”看起来像:
['オープニングテーマ', '頃は 昔々']
您需要将字符串设置回列表中,因此您最好迭代索引并使用
值[i]
,也不需要检查是否包含,您可以通过删除它来简化,因为如果没有模式,replace
将不起任何作用
values = ['♬(オープニングテーマ)\n', '〈頃は 昔々➡\n']
for i in range(len(values)):
for char in REPLACE_LIST:
values[i] = values[i].replace(char, '')
您还可以通过创建对所有元素执行或的模式来使用re
import re
pattern = re.compile("|".join(REPLACE_LIST))
for i in range(len(values)):
values[i] = pattern.sub("", values[i])
您需要实际将修改后的字符串放回列表中。