logo

Python の ChainMap

Python には「」というコンテナが含まれています チェーンマップ ' 多くのことをカプセル化します 辞書 1つのユニットにまとめます。 ChainMap はモジュール ' のメンバーです コレクション '。 例: Python3
# Python program to demonstrate  # ChainMap  from collections import ChainMap d1 = {'a': 1 'b': 2} d2 = {'c': 3 'd': 4} d3 = {'e': 5 'f': 6} # Defining the chainmap  c = ChainMap(d1 d2 d3) print(c) 
出力:
ChainMap({'a': 1 'b': 2} {'c': 3 'd': 4} {'e': 5 'f': 6}) 
ChainMap 上のさまざまな操作を見てみましょう

アクセス操作

    キー() :-この関数は、すべてのデータを表示するために使用されます。 キー ChainMap のすべての辞書のうち。 値() :-この関数は表示するために使用されます 価値観 ChainMap のすべての辞書のうち。 マップ() :-この関数は表示するために使用されます 対応する値を持つキー ChainMap のすべての辞書のうち。
Python3
# Please select Python 3 for running this code in IDE # Python code to demonstrate ChainMap and # keys() values() and maps # importing collections for ChainMap operations import collections # initializing dictionaries dic1 = { 'a' : 1 'b' : 2 } dic2 = { 'b' : 3 'c' : 4 } # initializing ChainMap chain = collections.ChainMap(dic1 dic2) # printing chainMap using maps print ('All the ChainMap contents are : ') print (chain.maps) # printing keys using keys() print ('All keys of ChainMap are : ') print (list(chain.keys())) # printing keys using keys() print ('All values of ChainMap are : ') print (list(chain.values())) 
出力:
All the ChainMap contents are : [{'b': 2 'a': 1} {'c': 4 'b': 3}] All keys of ChainMap are : ['a' 'c' 'b'] All values of ChainMap are : [1 4 2] 
  注記 : 「b」という名前のキーは両方の辞書に存在しますが、最初の辞書キーのみが「b」のキー値として取得されることに注意してください。順序付けは、辞書が関数で渡されるときに行われます。

操作の操作

    new_child() :-この関数は、ChainMap の先頭に新しい辞書を追加します。 反転() :-この関数は、ChainMap 内の辞書の相対的な順序を逆にします。
Python3
# Please select Python 3 for running this code in IDE # Python code to demonstrate ChainMap and # reversed() and new_child() # importing collections for ChainMap operations import collections # initializing dictionaries dic1 = { 'a' : 1 'b' : 2 } dic2 = { 'b' : 3 'c' : 4 } dic3 = { 'f' : 5 } # initializing ChainMap chain = collections.ChainMap(dic1 dic2) # printing chainMap using map print ('All the ChainMap contents are : ') print (chain.maps) # using new_child() to add new dictionary chain1 = chain.new_child(dic3) # printing chainMap using map print ('Displaying new ChainMap : ') print (chain1.maps) # displaying value associated with b before reversing print ('Value associated with b before reversing is : 'end='') print (chain1['b']) # reversing the ChainMap chain1.maps = reversed(chain1.maps) # displaying value associated with b after reversing print ('Value associated with b after reversing is : 'end='') print (chain1['b']) 
出力:
All the ChainMap contents are : [{'b': 2 'a': 1} {'b': 3 'c': 4}] Displaying new ChainMap : [{'f': 5} {'b': 2 'a': 1} {'b': 3 'c': 4}] Value associated with b before reversing is : 2 Value associated with b after reversing is : 3