ChainMap în Python

Python conține un container numit „ ChainMap ' care încapsulează multe dicționare într-o singură unitate. ChainMap este membru al modulului ' colecții '. Exemplu: 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  )   
Ieșire:
ChainMap({'a': 1 'b': 2} {'c': 3 'd': 4} {'e': 5 'f': 6})  
Să vedem diverse operațiuni pe ChainMap

Operațiuni de acces

    chei() :- Această funcție este folosită pentru a afișa toate chei dintre toate dicționarele din ChainMap. valori() :- Această funcție este folosită pentru afișare valorile dintre toate dicționarele din ChainMap. hărți() :- Această funcție este folosită pentru afișare taste cu valorile corespunzătoare dintre toate dicționarele din 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  ()))   
Ieșire:
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]  
  Notă: Observați că cheia numită „b” există în ambele dicționare, dar numai prima cheie de dicționar este luată ca valoare cheie pentru „b”. Ordonarea se face pe măsură ce dicționarele sunt transmise în funcție.

Operații de manipulare

    copil_nou() :- Această funcție adaugă un nou dicționar la începutul ChainMap. inversat() :- Această funcție inversează ordinea relativă a dicționarelor din 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'  ])   
Ieșire:
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