Я разрабатываю функцию func(lvars,lconsts)
, которая, учитывая список со всеми переменными в определенном операторе и список
со всеми константами в текущем состоянии, вычисляет список
со всеми возможными присвоениями констант переменным.
func(['X','Y'],['a','b'])
Ожидаемый результат:
[{'X':'a','Y':'a'},{'X':'b','Y':'a'},{'X':'a','Y':'b'},{'X':'b','Y':'b'}]
Я пробовал использовать itertools вот так:
def func(lvars,lconsts):
return list(itertools.product(lvars, lconsts))
но вместо ожидаемого результата я получаю следующее:
[('X', 'a'), ('X', 'b'), ('Y', 'a'), ('Y', 'b')]
См. Этот идентичный вопрос, опубликованный несколько минут назад: stackoverflow.com/questions/53013948/…
Как насчет того, чтобы передать его в конструктор dict () вместо конструктора list ()?
def func(lvars,lconsts):
return dict(product(lvars, lconsts))
Ну, для начала, получится dict
, но оператору нужен list
.
Как насчет передачи его в конструктор
dict()
вместо конструктораlist()
?