
ChainMap 类提供用于快速链接多个 dict,以便将它们视为单个单元。它通常比创建新 dict 和运行多个 update() 调用要快得多。
1 2 3 4 5 6 7 8 9 10 11 12 | In [1]: from collections import ChainMap
In [2]: d1 = { 'java' : 3, 'python' : 4}
In [3]: d2 = { 'c++' : 1, 'java' : 2}
In [4]: for key, val in ChainMap(d1, d2).items():
...: print(key, val)
...:
c++ 1
java 3
python 4
|
拓展:
后出现的重复的 key 将被忽略
ChainMap 将链接的 dict 存储在一个列表中。该列表是公开的,可以使用 maps 属性进行访问或更新。
1 2 3 4 5 6 7 8 9 10 11 12 | In [10]: c1 = ChainMap(d1, d2)
In [11]: c1.maps[0]
Out[11]: { 'java' : 3, 'python' : 4}
In [12]: c1.maps[0][ 'python' ] = 2
In [13]: c1.items()
Out[13]: ItemsView(ChainMap({ 'java' : 3, 'python' : 2}, { 'c++' : 1, 'java' : 2}))
In [14]: dict(c1)
Out[14]: { 'c++' : 1, 'java' : 3, 'python' : 2}
|
以上就是python ChainMap的调用效率,希望能对大家有所帮助,更多知识尽在python学习网。