【发布时间】:2016-04-03 17:17:42
【问题描述】:
我有一个数字列表,例如
numbers = [1, 2, 3, 7, 7, 9, 10]
如您所见,数字可能在此列表中出现多次。
我需要得到这些数字的所有组合,它们具有给定的总和,例如10。
组合中的项目可能不会重复,但 numbers 中的每个项目都必须被唯一处理,这意味着例如列表中的两个7 代表具有相同值的不同项目。
顺序不重要,所以[1, 9] 和[9, 1] 是相同的组合。
组合没有长度限制,[10] 与[1, 2, 7] 一样有效。
如何创建符合上述条件的所有组合的列表?
在这个例子中,它是[[1,2,7], [1,2,7], [1,9], [3,7], [3,7], [10]]
【问题讨论】:
标签: python algorithm python-3.x combinations subset-sum