我想在python中将两个数组合并为所有可能的组合
ex a = [1,2,3]和b = [4,5,6]应该给出输出
c= [(1,4),(1,5),(1,6)
(2,4),(2,5),(2,6)
(3,4),(3,5),(3,6)]
按此特定顺序(即3x3的顺序)。订单在这里特别重要
答案 0 :(得分:10)
itertools.product
函数就是这样做的。
>>> import itertools
>>> a, b = [1,2,3], [4,5,6]
>>> list(itertools.product(a, b))
[(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]
注意:很可能你不需要list()
,这只是为了显示输出。
答案 1 :(得分:1)
您正在寻找itertools.product
from itertools import product
a = [1,2,3]
b = [4,5,6]
print(list(product(a, b)))
输出
[(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]
答案 2 :(得分:0)
这将返回一个包含列表a和b的所有排列的列表。
import itertools
map(''.join, itertools.chain(itertools.product(a, b), itertools.product(b, a))