如何获得两个列表的产品?

时间:2014-05-22 08:15:14

标签: python

在python上,我可以使用combinations中的itertools函数来获取列表中所有可能的对。但有没有办法让所有组合在一个列表中占一个元素而在另一个列表中占用另一个元素?

l1 = [1,2,3]
l2 = [4,5]

是否有可以返回的功能

(1,4),(1,5),(2,4),(2,5),(3,4),(3,5)

1 个答案:

答案 0 :(得分:3)

您正在寻找"笛卡尔产品":

itertools.product(list1, list2, ...)

实施例

from itertools import product

l1 = [1,2,3]
l2 = [4,5]

>>> print list(product(l1, l2))
[(1, 4), (1, 5), (2, 4), (2, 5), (3, 4), (3, 5)]