Python如何将列表内多个指定字符串元素批量替换为目标值
Python列表元素批量替换最简实现
无需转换为字符串操作,使用字典映射+列表推导式即可快速完成,最短写法代码如下:
list1 = ['hello', 'halo', 'goodbye', 'bye bye', 'how are you?'] new_list = [{'hello':'welcome','halo':'welcome','goodbye':'greetings','bye bye':'greetings'}.get(i,i) for i in list1]
如果希望代码可读性更高,也可以把映射规则单独抽出来:
list1 = ['hello', 'halo', 'goodbye', 'bye bye', 'how are you?'] replace_rule = { 'hello': 'welcome', 'halo': 'welcome', 'goodbye': 'greetings', 'bye bye': 'greetings' } new_list = [replace_rule.get(item, item) for item in list1]
两种写法最终得到的new_list都符合要求:['welcome', 'welcome', 'greetings', 'greetings', 'how are you?'],如果要直接修改原列表,把赋值对象的new_list替换成list1即可。
内容的提问来源于stack exchange,提问作者dNm
相关产品推荐
相关产品推荐

