python ChainMap的呼叫效率

germo發表於2021-09-11

python ChainMap的呼叫效率

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學習網。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1868/viewspace-2830606/,如需轉載,請註明出處,否則將追究法律責任。

相關文章