from itertools import combinations
a = [1,2,3]
combinations(a,2) #will give me ((1,2),(1,3),(2,3))
combinations(a,3) #will give me ((1,2,3),)
그러나 배열 길이가 다른 결과를 원하면 예를 들어.itertools-Python을 사용하여 최소 길이가 N 인 요소 조합을 찾는 방법
내가 그렇게 될 수 있어야 2 보다 더 많거나 동일한 길이의 지정된 배열 [1,2,3]의 모든 조합을 찾으려면 ((1,2),(1,3),(2,3),(1,2,3))
내가 람다하지만하지 사용하려고 c = combinations(a,>=2)
같은
c = combinations(a,lambda x: x for x in [2,3])
뿐만 아니라 내가 아는 포괄적 인 c = combinations(a,[x for x in [2,3]])
목록 간단한 루프를 사용하여 diff 길이의 조합을 찾을 수 있습니다.
for l in [2,3]:
combinations(a,l)
하지만이 작업을 수행 할 파이썬 방법이 있습니까?
이것은 아주 멋지게 넣었습니다. – Nobi
이것은 정확하게 [powerset' recipe] (https://docs.python.org/2/library/itertools.html#recipes)도 사용합니다. – jonrsharpe