美文网首页
python3学习笔记:将多个映射合并为单个映射

python3学习笔记:将多个映射合并为单个映射

作者: 潼潼夏 | 来源:发表于2020-02-18 20:34 被阅读0次

    问题

    有多个字典和映射,在逻辑上将它们合并成一个单独的映射结构,以此需要执行某些操作(例如:查找值或检查键是否存在)

    解决方案

    collection.ChainMap类

    假设有两个字典,a和b,现在假设要执行查找操作,必须检查这两个字典(例如,先在a中查找,再在b中查找)

    from collections import ChainMap
    a=['x':1,'z':3]
    b=['y':2,'z':5]
    c = ChainMap(a,b)
    print (c['x'])
    #1
    print (c['y'])
    #2
    print (c['z'])
    #3
    

    ChainMap可接受多个映射然后逻辑上使他们表现为一个单独的映射结构,但是这些映射在字面上并不会合并在一起。
    ChainMap合并的字典里如果有重复的键,那么这里会采用第一个映射中对应的值。
    修改映射的操作作用在第一个映射结构上,如:

    c['z'] = 10
    c['w'] =40
    print a
    #a={'x': 1, 'z': 10, 'w': 40}
    print b
    #b={'y': 2, 'z': 5}
    

    相关文章

      网友评论

          本文标题:python3学习笔记:将多个映射合并为单个映射

          本文链接:https://www.haomeiwen.com/subject/zitnfhtx.html