이 기사에서는 아래 주어진 문제 설명에 대한 솔루션에 대해 알아볼 것입니다.
문제 설명 − 집합이 주어졌으므로 크기가 n인 모든 부분집합을 나열해야 합니다.
문제를 해결하기 위한 세 가지 접근 방식이 있습니다 -
itertools.combinations() 메서드 사용
예시
# itertools module
import itertools
def findsubsets(s, n):
return list(itertools.combinations(s, n))
#main
s = {1,2,3,4,5}
n = 4
print(findsubsets(s, n)) 출력
[(1, 2, 3, 4), (1, 2, 3, 5), (1, 2, 4, 5), (1, 3, 4, 5), (2, 3, 4, 5)]
map() 및 조합() 메서드 사용
예시
# itertools module
from itertools import combinations
def findsubsets(s, n):
return list(map(set, itertools.combinations(s, n)))
# Driver Code
s = {1, 2, 3, 4, 5}
n = 4
print(findsubsets(s, n)) 출력
[{1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {2, 3, 4, 5}] 반복 가능한 목록에서 이해력 사용
예시
# itertools
import itertools
def findsubsets(s, n):
return [set(i) for i in itertools.combinations(s, n)]
# Driver Code
s = {1, 2, 3, 4, 5}
n = 4
print(findsubsets(s, n)) 출력
[{1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {2, 3, 4, 5}] 결론
이 기사에서 우리는 집합의 주어진 크기의 모든 하위 집합을 얻는 방법에 대해 배웠습니다.