ChainMap 类提供用于快速链接多个 dict,以便将它们视为单个单元。它通常比创建新 dict 和运行多个 update() 调用要快得多。
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 属性进行访问或更新。
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学习网。