キーワード引数を任意の数で取得し、値の積を返すジェネレータを作成します(以下に示すようにタプルとして与える)。Python:forループを使用して未知数の変数を作成する
forループ変数(hardcoded_a
、hardcoded_b
)のハードコーディングを回避するのに問題があります。このシナリオでは、2つ以上の引数を使用すると、ValueError
となります。私は '大丈夫'変数をハードコーディングしても構いません。どのように多くのアイテムを私がkwargsに渡しても、私はまだ製品を得ることができますか?
これは私がこれまでに書かれたものです:私はあなたの目的は、以下が動作するはず誤解しない限り
from itertools import product
def gen(**kwargs):
options = {}
[options.update({k: v}) for k, v in kwargs.iteritems()]
for hardcoded_a, hardcoded_b in product(*(tuple(options.values()))):
yield hardcoded_a, hardcoded_b
for okay_var1, okay_var2 in gen(dollar=(2, 20), hungry=(True, False)):
print okay_var1, okay_var2
あなたの目的は何ですか? kwargsのすべての値を掛ける? – Milor123
あなたの場合、どのように印刷する必要がありますか? – Hetzroni
@ Milor123最終的にkwargsキーの辞書を、すべての可能な値をカバーするように値に設定したい – af3ld