Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのChainMap


ChainMapは、辞書を1つのユニットにカプセル化するために使用されます。

ChainMapは、コレクションにある標準ライブラリクラスです。 モジュール。

最初に使用するには、コレクションの標準ライブラリモジュールをインポートする必要があります。

import collections

このセクションでは、ChainMapクラスのいくつかの機能を紹介します

マップとkeys()values()関数

マップは、ChainMapのすべての辞書のすべてのキーと値のペアを表示するために使用されます。 keys()メソッドはChainMapからキーを返し、values()メソッドはChainMapからさまざまなキーのすべてのvalues()を返します。

サンプルコード

import collections as col
con_code1 = {'India' : 'IN', 'China' : 'CN'}
con_code2 = {'France' : 'FR', 'United Kingdom' : 'GB'}
chain = col.ChainMap(con_code1, con_code2)
print("Initial Chain: " + str(chain.maps))
print('The keys in the ChainMap: ' + str(list(chain.keys())))
print('The values in the ChainMap: ' + str(list(chain.values())))

出力

Initial Chain: [{'India': 'IN', 'China': 'CN'}, {'France': 'FR', 'United Kingdom': 'GB'}]
The keys in the ChainMap: ['China', 'United Kingdom', 'India', 'France']
The values in the ChainMap: ['CN', 'GB', 'IN', 'FR']

new_child()および逆メソッド

new_child()メソッドは、最初に別のディクショナリオブジェクトをChainMapに追加するために使用されます。また、ChainMapで逆の方法を使用して、キーと値のペアの順序を逆にすることもできます。

サンプルコード

import collections as col
con_code1 = {'India' : 'IN', 'China' : 'CN'}
con_code2 = {'France' : 'FR', 'United Kingdom' : 'GB'}
code = {'Japan' : 'JP'}
chain = col.ChainMap(con_code1, con_code2)
print("Initial Chain: " + str(chain.maps))
chain = chain.new_child(code)    #Insert New Child
print("Chain after Inserting new Child: " + str(chain.maps))
chain.maps = reversed(chain.maps)
print("Reversed Chain: " + str(chain))

出力

Initial Chain: [{'India': 'IN', 'China': 'CN'}, {'France': 'FR', 'United Kingdom': 'GB'}]
Chain after Inserting new Child: [{'Japan': 'JP'}, {'India': 'IN', 'China': 'CN'}, {'France': 'FR', 'United Kingdom': 'GB'}]
Reversed Chain: ChainMap({'France': 'FR', 'United Kingdom': 'GB'}, {'India': 'IN', 'China': 'CN'}, {'Japan': 'JP'})

  1. Pythonのissuperset()

    この記事では、Pythonでのissuperset()と、さまざまな分野でのその実装について学習します。 このメソッドは、セットBのすべての要素に引数として渡されるすべての要素セットAが含まれている場合はブール値Trueを返し、Aのすべての要素がBに存在しない場合はfalseを返します。 これは、BがAのスーパーセットである場合、それを意味します returns true; else False 例 いくつかの例を見てみましょう A = {'t','u','t','o','r','i',

  2. Pythonで関数デコレータのチェーンを作成するにはどうすればよいですか?

    デコレータは「ラッパー」であり、関数自体を変更することなく、デコレートする関数の前後にコードを実行できます。 例 指定されたコードは次のようにデコレータのチェーンにラップできます。 def makebold(fn):     def wrapped():         return "<b>" + fn() + "</b>"     return wrapped def makeitalic(fn):     def wrappe