我是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
答案 0 :(得分:5)
您可以使用zip
和chain
以及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)]