0

我正在解决项目 Euler 的问题,我需要获取在列表中添加 int 元素的所有组合,

from itertools import combinations
evenAbs = [12, 18, 20, 24, 30,36]
evenCombs =  sorted(([i+j for i,j in combinations(evenAbs, 2)]))

我的问题是我需要包含 12+12 18+18 等的组合。我该怎么做?

4

1 回答 1

2

使用itertools.combinations_with_replacement

>>> import itertools
>>> list(itertools.combinations_with_replacement([1,2,3], 2))
[(1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3)]
于 2013-10-26T05:54:29.287 回答