合并多个映射

# 如需要将多个字典合并为一个操作试图用于查询
# 可以用ChainMap类来完成
dic_fir = {
    'a':1,
    'b':2
}

dic_sec = {
    'c':5,
    'b':7
}

dic_thr = {
    'e':8,
    'c':9
}
# 如果需要从这些字典里面查一个键,很不方便,需要依次遍历,现在使用ChainMap,
# 就可以完成查找
from collections import ChainMap

d = ChainMap(dic_fir, dic_sec, dic_thr)

if __name__ == '__main__':
    # 注:仅为查找方便
    print('c' in d) # true
    # 如果有重复项,会仅采用前面映射中出现的值
    print(d['c'])
    # 如果要修改,仅会作用于第一个dict,本例中是dic_fir ,
    d['add_test'] = 85
    print(dic_fir)
    # {'a': 1, 'b': 2, 'add_test': 85} 添加到了第一个
    # 现在试图修改第一个不存在的key, 如删除操作
    del d['c']
    # KeyError: "Key not found in the first mapping: 'c'"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值