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 上のさまざまな操作を見てみましょう アクセス操作
# 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」のキー値として取得されることに注意してください。順序付けは、辞書が関数で渡されるときに行われます。 操作の操作
# 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