Python –2つの辞書値リストのクロスマッピング
2つのディクショナリ値リストをクロスマップする必要がある場合は、「setdefault」メソッドと「extend」メソッドが使用されます。
例
以下は同じのデモンストレーションです-
my_dict_1 = {"Python" : [4, 7], "Fun" : [8, 6]} my_dict_2 = {6 : [5, 7], 8 : [3, 6], 7 : [9, 8]} print("The first dictionary is : " ) print(my_dict_1) print("The second dictionary is : " ) print(my_dict_2) sorted(my_dict_1.items(), key=lambda e: e[1][1]) print("The first dictionary after sorting is ") print(my_dict_1) sorted(my_dict_2.items(), key=lambda e: e[1][1]) print("The second dictionary after sorting is ") print(my_dict_2) my_result = {} for key, value in my_dict_1.items(): for index in value: my_result.setdefault(key, []).extend(my_dict_2.get(index, [])) print("The resultant dictionary is : ") print(my_result)
出力
The first dictionary is : {'Python': [4, 7], 'Fun': [8, 6]} The second dictionary is : {6: [5, 7], 8: [3, 6], 7: [9, 8]} The first dictionary after sorting is {'Python': [4, 7], 'Fun': [8, 6]} The second dictionary after sorting is {6: [5, 7], 8: [3, 6], 7: [9, 8]} The resultant dictionary is : {'Python': [9, 8], 'Fun': [3, 6, 5, 7]}>
説明
-
2つの辞書が定義され、コンソールに表示されます。
-
それらは「sorted」メソッドとラムダメソッドを使用してソートされ、コンソールに表示されます。
-
空の辞書が作成されます。
-
辞書が繰り返され、キーがデフォルト値に設定されます。
-
2番目のディクショナリの要素のインデックスが取得され、「extend」メソッドを使用して空のディクショナリに追加されます。
-
これは、コンソールに表示される出力です。
-
Python辞書から最大値を出力する方法は?
Pythonの組み込みディクショナリクラスには、各キーと値のペアから値コンポーネントのリストを返すvalues()メソッドがあります。組み込み関数max()を使用すると、辞書の最大値を取得できます >>> dct={1:45,2:76,3:12,4:55,5:33} >>> vlist=dct.values() >>> vlist dict_values([45, 76, 12, 55, 33]) >>> max(vlist) 76
-
Pythonで辞書のキーの値を更新するにはどうすればよいですか?
Pythonディクショナリオブジェクトは、キーと値のペアの順序付けられていないコレクションです。辞書オブジェクトdでは、任意のキーに関連付けられた値はd[k]によって取得できます。 >>> d={'one':1, 'two':2,'three':3,'four':4} >>> d['two'] 2 割り当てd[k]=vは、辞書オブジェクトを更新します。式で既存のキーが使用されている場合、関連する値が更新されます。キーが使用されていない場合は、新しいキーと値のペアがディクショナリ