如何从Python中任意长的列表中获取交叉乘积 对 的列表?
a = [1, 2, 3] b = [4, 5, 6]
crossproduct(a,b)应该屈服[[1, 4], [1, 5], [1, 6], ...]。
crossproduct(a,b)
[[1, 4], [1, 5], [1, 6], ...]
如果您(至少)在Python 2.6上,则正在寻找itertools.product。
>>> import itertools >>> a=[1,2,3] >>> b=[4,5,6] >>> itertools.product(a,b) <itertools.product object at 0x10049b870> >>> list(itertools.product(a,b)) [(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]