繁体   English   中英

如何获得具有特定总数和特定起始元素的整数组合?

[英]How to get Integer Combination Have Specific Sum and Specific Starting Element?

我需要从一个满足组合和等于某个特定值的条件的整数列表中找出组合。 例如,我有列表[1,2,3,4],我需要找出所有组合都只有两个整数值,并且这些整数之和等于5。如何将和条件包括在其中。 而且我还需要知道如何指定组合的开始元素。 示例组合仅以1开头。 是否存在任何库,请告诉我找出最快的组合查找方法

IIUC,您可以简单地将其与条件列表理解结合起来。

例如,

>>> [(i, j) for (i, j) in itertools.combinations([1,2,3,4], 2) if i + j == 5]
[(1, 4), (2, 3)]

或者,仅以1开头的

[(i, j) for (i, j) in itertools.combinations([1,2,3,4], 2) if i == 1]

(当然,您可以组合所需的任何条件。)

你可以使用filter

filter(lambda x: sum(x) == 5 and x[0] == 1, combinations([1, 2, 3, 4], 2))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM