Я хочу создать генератор, который принимает любое количество аргументов ключевого слова и возвращает произведение значений (дайте в виде кортежей, как показано ниже).Python: создание неизвестного числа переменных с помощью for-loop
У меня возникли проблемы с тем, чтобы избежать жесткого кодирования переменных цикла цикла (hardcoded_a
, hardcoded_b
). В этом случае, если я использую более или менее двух аргументов, он дает ValueError
. Меня не волнует жесткая кодировка переменных «okay». Как я могу это сделать, независимо от того, сколько предметов я перехожу в 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