Python:将一个列表中的元素与其他列表中的每个元素配对

时间:2015-04-26 22:01:20

标签: python list

我是Python的新手用户。我有四个数字列表。我想创建一个列表,从列表A和B中抓取每个元素,并将它们与列表C和D中的每个元素配对。

A=[1,2,3,4]
B=[10,20,30,40]
C=[100,200]
D=[1000,2000]

我想要的输出是:

1,10,100,1000
1,10,200,2000
2,20,100,1000
2,20,200,2000
3,30,100,1000
3,30,200,2000
4,40,100,1000
4,40,200,2000

2 个答案:

答案 0 :(得分:5)

您可以使用zipchain以及A = [1, 2, 3, 4] B = [10, 20, 30, 40] C = [100, 200] D = [1000, 2000] from itertools import product, chain for row in product(zip(A, B), zip(C, D)): print list(chain(*row)) 的组合:

[1, 10, 100, 1000]
[1, 10, 200, 2000]
[2, 20, 100, 1000]
[2, 20, 200, 2000]
[3, 30, 100, 1000]
[3, 30, 200, 2000]
[4, 40, 100, 1000]
[4, 40, 200, 2000]

结果:

{{1}}

答案 1 :(得分:0)

我想你想要这些列表的不同组合:

from itertools import combinations
for a, b in zip(A, B): 
    print [c for c in combinations([a,b]+C+D, 4)]