python-3.x 计算包含所有可能的常量到变量赋值的列表[duplicate]

sdnqo3pr  于 2023-03-04  发布在  Python
关注(0)|答案(1)|浏览(123)
    • 此问题在此处已有答案**:

How can I get "permutations with repetitions/replacement" from a list (Cartesian product of a list with itself)?(6个答案)
(21个答案)
四年前关闭了。
我正在开发一个函数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))

但不是期望的输出IM,而是得到:

[('X', 'a'), ('X', 'b'), ('Y', 'a'), ('Y', 'b')]
isr3a4wc

isr3a4wc1#

把它传递给dict()构造函数而不是list()构造函数怎么样?

def func(lvars,lconsts):
    return dict(product(lvars, lconsts))

相关问题