美文网首页
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