ChainMap en Python

Python conté un contenidor anomenat ' ChainMap ' que engloba molts diccionaris en una unitat. ChainMap és membre del mòdul ' col·leccions '. Exemple: 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  )   
Sortida:
ChainMap({'a': 1 'b': 2} {'c': 3 'd': 4} {'e': 5 'f': 6})  
Vegem diverses operacions a ChainMap

Operacions d'accés

    claus() :- Aquesta funció s'utilitza per mostrar tots els claus de tots els diccionaris de ChainMap. valors () :- Aquesta funció s'utilitza per mostrar valors de tots els diccionaris de ChainMap. mapes():- Aquesta funció s'utilitza per mostrar claus amb els valors corresponents de tots els diccionaris de 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  ()))   
Sortida:
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]  
  Nota: Observeu que la clau anomenada 'b' existeix als dos diccionaris, però només es pren com a valor clau de 'b' la primera clau del diccionari. L'ordenació es fa a mesura que els diccionaris es passen en funció.

Operacions de manipulació

    fill_nou():- Aquesta funció afegeix un nou diccionari al començament del ChainMap. invertit() :- Aquesta funció inverteix l'ordre relatiu dels diccionaris al 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'  ])   
Sortida:
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