python ChainMap的调用效率

ChainMap 类提供用于快速链接多个 dict,以便将它们视为单个单元。它通常比创建新 dict 和运行多个 update() 调用要快得多。

In[1]:fromcollectionsimportChainMap

In[2]:d1={'java':3,'python':4}

In[3]:d2={'c++':1,'java':2}

In[4]:forkey,valinChainMap(d1,d2).items():
...:print(key,val)
...:
c++1
java3
python4

拓展:

后出现的重复的 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}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。