Python如何利用另一字典的映射关系更新目标字典的对应值
解决方案
你可以通过遍历字典匹配替换的方式实现需求,以下是两种常用实现方式:
方式1:直接修改原字典a
适合允许直接改动原字典的场景,逻辑简单直观:
a = {'a': 1, 'b': 2, 'c': 3} b = {1: 11, 2: 22} # 遍历a的键值对,匹配替换 for key, val in a.items(): if val in b: a[key] = b[val] print(a) # 输出结果:{'a': 11, 'b': 22, 'c': 3}
方式2:生成新字典(不改动原字典)
如果你需要保留原始的a字典,可以用字典推导式生成新的结果字典:
a = {'a': 1, 'b': 2, 'c': 3} b = {1: 11, 2: 22} # 字典推导式,用b.get做匹配,匹配不到就保留原值 new_a = {k: b.get(v, v) for k, v in a.items()} print(new_a) # 输出结果:{'a': 11, 'b': 22, 'c': 3} # 原a字典保持不变
内容的提问来源于stack exchange,提问作者tainangao
相关产品推荐
相关产品推荐

