Python匹配指定字段时用第二字典映射值补全第一字典空字段的方法
Python字典字段赋值最优实现
核心逻辑代码
优先使用带键存在校验的条件判断写法,兼顾简洁性和鲁棒性,不会因为字典缺少对应键抛出异常:
# 条件:dict1的country为空 + 两个字典的state值匹配 if not dict1.get('country', '') and dict1.get('state') == dict2.get('state'): dict1['country'] = dict2['country_mapping']
逻辑说明
- 使用
dict.get()方法读取键值,当目标键不存在时会返回默认值,避免触发KeyError - 第一个条件
not dict1.get('country', '')覆盖country为空字符串、None、不存在等所有“为空”的常见场景,如果业务要求仅严格匹配空字符串才算为空,可以把第一个条件修改为dict1.get('country', '') == '' - 只有两个条件同时满足时才会修改
dict1的country字段,否则不会对原字典做任何改动
示例运行效果
# 原有字典 dict1 = {'country': '', 'state': 'Arizona'} dict2 = {'state': 'Arizona', 'country_mapping': 'United States'} # 执行逻辑 if not dict1.get('country', '') and dict1.get('state') == dict2.get('state'): dict1['country'] = dict2['country_mapping'] print(dict1) # 输出:{'country': 'United States', 'state': 'Arizona'}
内容的提问来源于stack exchange,提问作者rj14d
相关产品推荐
相关产品推荐

