我有一些随机字符串的列表,例如:
list_test = ["adam", "adam", "lori", "conrad", "lori", "adam"]
然后我还有两个列表,一个我想再次测试匹配项,另一个将确定用什么替换项目。
sReplace = ["adam", "lori"]
sReplaceWith = ["carol", "robert"]
我想做的是搜索 list_test,如果该列表中的任何项目与 sReplace 中的任何项目匹配,如果它确实用来自匹配索引号 ex 的 sReplaceWith 中的项目替换它。
final_list = ["carol", "carol", "robert", "conrad", "robert", "carol"]
知道怎么做吗?
请您参考如下方法:
我会制作一个字典,其中 Replace 为键,ReplaceWith 为值。
replacements = dict(zip(sReplace, sReplaceWith))
>>> replacements
{'adam': 'carol', 'lori': 'robert'}
然后在列表理解中,您可以使用 get,它将从字典中查找替换项,如果不存在,将使用原始单词。
final_list = [replacements.get(i,i) for i in list_test]
>>> final_list
['carol', 'carol', 'robert', 'conrad', 'robert', 'carol']
