我试图在Python中使用product()函数。我知道product()需要一堆iterables并且完成所有这些的笛卡尔积。
现在我把所有的迭代都放在一个列表中。我想知道如何立即传递该列表中的所有迭代?我无法直接将列表传递给产品,因为product()会将其视为一个可迭代的产品。 例如,我有一个列表列表:
[[1,2,3],['a','b']]
如何将[1,2,3]和['a','b']传递给产品,因此它等同于产品([1,2,3],['a','b' ])?
提前致谢!
答案 0 :(得分:7)
l = [[1, 2, 3], ('a', 'b')]
product(*l)
答案 1 :(得分:5)
使用argument expansion(解包):
vals = [[1,2,3],['a','b']]
product(*vals)
它与此类似:
>>> x, y = [[1,2,3],['a','b']]
>>> x
[1, 2, 3]
>>> y
['a', 'b']