如何检查列表中的数字是否合计为某个数字?

时间:2017-09-20 19:20:11

标签: python list

e.g a = [7,8,8,9,4] - &GT;会给出三分。由于 7 + 8 (8指数 - > 0), 7 + 8 (8指数 - > 1), 9 + 4 < / strong>全部等于15

如何在python中编写代码来执行此操作?

1 个答案:

答案 0 :(得分:0)

您可以在原始列表中生成所有2值组合

>>> a = [7,8,8,9,4]
>>> import itertools
>>> list(itertools.combinations(a, 2))
[(7, 8), (7, 8), (7, 9), (7, 4), (8, 8), (8, 9), (8, 4), (8, 9), (8, 4), (9, 4)]

然后使用列表推导来检查它们的总和是否等于你的值

>>> total = 15
>>> [i for i in itertools.combinations(a, 2) if sum(i) == total]
[(7, 8), (7, 8)]