Pythonのリストの辞書からの値を組み合わせる
キーと値のペアの値としてリストを含むPythonディクショナリがあるとします。指定されたリストのキーと値のすべての可能な組み合わせを表すリストを作成する必要があります。
並べ替えと製品を使用
itertoolsのproduct関数を使用して、パラメーターとして提供されたiterableのcrtesian製品を作成できます。辞書を並べ替え、2つのforループを使用して、辞書内のリストから可能なすべてのキーと値のペアの組み合わせを作成します。
例
import itertools as it Adict = { "Day": ["Tue", "Wed"], "Time": ["2pm", "9am"], } # Sorting Adict sorted_Adict = sorted(Adict) # Using product after sorting res = [dict(zip(sorted_Adict, prod)) for prod in it.product(*(Adict[sorted_Adict] for sorted_Adict in sorted_Adict))] # Printing output print(res)
出力
上記のコードを実行すると、次の結果が得られます-
[{'Day': 'Tue', 'Time': '2pm'}, {'Day': 'Tue', 'Time': '9am'}, {'Day': 'Wed', 'Time': '2pm'}, {'Day': 'Wed', 'Time': '9am'}]
zip付き
このアプローチでは、zip関数とitertools product関数を使用して、リストのディクショナリから可能なすべてのキーと値の組み合わせを作成します。
例
import itertools as it Adict = { "Day": ["Tue", "Wed"], "Time": ["2pm", "9am"], } # Sorting Adict sorted_Adict = sorted(Adict) # Using product after sorting res = [[{key: value} for (key, value) in zip(Adict, values)] for values in it.product(*Adict.values())] # Printing output print(res)
出力
上記のコードを実行すると、次の結果が得られます-
[[{'Day': 'Tue'}, {'Time': '2pm'}], [{'Day': 'Tue'}, {'Time': '9am'}], [{'Day': 'Wed'}, {'Time': '2pm'}], [{'Day': 'Wed'}, {'Time': '9am'}]]
-
Pythonディクショナリからすべての値のリストを取得するにはどうすればよいですか?
辞書からすべてのキーのリストを取得するには、dict.values()関数を使用するだけです。 例 my_dict = {'name': 'TutorialsPoint', 'time': '15 years', 'location': 'India'} value_list = list(my_dict.values()) print(value_list) 出力 これにより、出力が得られます- ['TutorialsPoint', '15 years',
-
Python辞書からすべてのキーのリストを取得するにはどうすればよいですか?
辞書からすべてのキーのリストを取得するには、dict.keys()関数を使用するだけです。 例 my_dict = {'name': 'TutorialsPoint', 'time': '15 years', 'location': 'India'} key_list = list(my_dict.keys()) print(key_list) 出力 これにより、出力が得られます- ['name', 'time', 'location'] リスト内