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