Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

주어진 크기의 집합의 모든 하위 집합을 가져오는 Python 프로그램


이 기사에서는 아래 주어진 문제 설명에 대한 솔루션에 대해 알아볼 것입니다.

문제 설명 − 집합이 주어졌으므로 크기가 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}]

결론

이 기사에서 우리는 집합의 주어진 크기의 모든 하위 집합을 얻는 방법에 대해 배웠습니다.