基本的に私が探しているのは、itertools.product
に相当しますが、dict
に相当します。リストの辞書をすべての組み合わせの辞書のリストにするにはどうすればよいですか?
たとえば、キーワード引数のすべての組み合わせに対して関数をテストするとします。キーワード引数ごとに許容値のリストを渡してから、辞書のリストを取得したいとします。
kwargs_options = {"debug": ["on", "off"],
"locale":["de_DE", "en_US", "fr_FR"]
期待ouputを:必要に応じて、その後list(...)
への呼び出しでラップすることができますイテレータを返す必要がありitertools.product
これに似たAPIを持つために
[{'debug': 'on', 'locale': 'de_DE'},
{'debug': 'on', 'locale': 'en_US'},
{'debug': 'on', 'locale': 'fr_FR'},
{'debug': 'off', 'locale': 'de_DE'},
{'debug': 'off', 'locale': 'en_US'},
{'debug': 'off', 'locale': 'fr_FR'}]
。
例コール:
list(dictproduct(kwargs_options}))
これはCombinations from dictionary with list values using Pythonに類似しているが、2つの要素dictsなく、2つの単一要素dictsのリストを返します。
自己解答は問題ありませんが、*質問はまだトピック上にある必要があります。この質問は、文脈の答えなしでは、答えることができません。 –
実際の具体的な例を含めて、サンプルの入力と期待される出力は、この疑問をより明確にするための道のりになります。 –
申し訳ありませんが、私は別の質問(私が参照した)を見て答えを出し、それを共有したいと思っていました。だから私は質問に突っ込んだ。私は今それをもっと明確にしました。 – snth