【问题标题】:How to check if numbers in a list add up to a certain number? [closed]如何检查列表中的数字加起来是否等于某个数字? [关闭]
【发布时间】:2018-03-01 23:53:02
【问题描述】:

例如 a = [7,8,8,9,4] --> 会给三分。由于 7 + 8(索引处为 8 --> 0),7 + 8(索引处为 8 --> 1),9 + 4 都等于 15

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

【问题讨论】:

  • 9 + 4 == 15是从什么时候开始的?

标签: python list


【解决方案1】:

您可以在原始列表中生成所有 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)]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    相关资源
    最近更新 更多