2017-10-06 3 views
1

私は2つのリストを組み合わせて、特定の方法で結合リストを合計する方法を見つけようとしています。前の2つの要素の合計は、次の要素に合計する必要があります。 1 + 2 = 3,3 + 4 = 7であるので、 は(3,7,6)であるべきである、(1、2)、(4) 2 + 4 = 6である。(python)どのように組み合わせのすべての結果を特定の方法で合計できますか?

それから、((1,2)、(4))(3,7,6)(3つの組み合わせとその合計)が特定の要素を含んでいない挿入された)。ここで

は私のコードと私の例である:ストレート前方

a=[1,2,3] 
b=[4,5,6] 

import itertools 

sets = [a,b]; 
ks = [2, 1,] 

combinations = itertools.product(*[itertools.combinations(set, k) for set, k in zip(sets, ks)]) 

for combination in combinations: 
    print (combination) 

答えて

1

for i in itertools.product(*[itertools.combinations(set, k) for set, k in zip(sets, ks)]): 
    i_sum = i[0][0] + i[0][1] 
    print(i, (i_sum, i_sum + i[1][0], i[0][1] + i[1][0])) 

出力:

((1, 2), (4,)) (3, 7, 6) 
((1, 2), (5,)) (3, 8, 7) 
((1, 2), (6,)) (3, 9, 8) 
((1, 3), (4,)) (4, 8, 7) 
((1, 3), (5,)) (4, 9, 8) 
((1, 3), (6,)) (4, 10, 9) 
((2, 3), (4,)) (5, 9, 7) 
((2, 3), (5,)) (5, 10, 8) 
((2, 3), (6,)) (5, 11, 9) 
+0

@JoaoBatista、どういたしまして – RomanPerekhrest

関連する問題