이 기사에서는 아래 주어진 문제 설명에 대한 솔루션에 대해 알아볼 것입니다.
문제 설명 − 집합이 주어졌으므로 크기가 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}]
결론
이 기사에서 우리는 집합의 주어진 크기의 모든 하위 집합을 얻는 방법에 대해 배웠습니다.