How to find all combinations of three elements in a list whose sum is equal to N in Python

2 Answers

0 votes
from itertools import combinations

N = 24

def SumEqualToN(val):
    return sum(val) == N
 
lst = [3, 2, 6, 4, 10, 5, 9, 7, 8, 12]

result = list(filter(SumEqualToN, list(combinations(lst, 3))))
 
print(result)




'''
run:

[(3, 9, 12), (2, 10, 12), (6, 10, 8), (4, 8, 12), (10, 5, 9), (5, 7, 12), (9, 7, 8)]

'''

 



answered Sep 6, 2022 by avibootz
0 votes
N = 24
 
lst = [3, 2, 6, 4, 10, 5, 9, 7, 8, 12]
 
for i in range(0, len(lst)):
    for j in range(i + 1, len(lst)):
        for k in range(j + 1, len(lst)):
            if lst[i] + lst[j] + lst[k] == N:
                print(lst[i], lst[j], lst[k])

 
 
 
 
'''
run:
 
3 9 12
2 10 12
6 10 8
4 8 12
10 5 9
5 7 12
9 7 8

'''

 



answered Sep 6, 2022 by avibootz
...