我正在解决项目 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 等的组合。我该怎么做?
我正在解决项目 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 等的组合。我该怎么做?
使用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)]