Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để lấy tất cả các tập con có kích thước nhất định của một tập hợp


Trong bài viết này, chúng ta sẽ tìm hiểu về giải pháp cho câu hỏi được đưa ra bên dưới.

Tuyên bố sự cố - Chúng ta được cho một tập hợp, chúng ta cần liệt kê tất cả các tập hợp con có kích thước n

Chúng tôi có ba cách tiếp cận để giải quyết vấn đề -

Sử dụng phương thức itertools.combaries ()

Ví dụ

# 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))

Đầu ra

[(1, 2, 3, 4), (1, 2, 3, 5), (1, 2, 4, 5), (1, 3, 4, 5), (2, 3, 4, 5)]

Sử dụng phương thức map () và tổ hợp ()

Ví dụ

# 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))

Đầu ra

[{1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {2, 3, 4, 5}]

Sử dụng khả năng hiểu trong danh sách có thể lặp lại

Ví dụ

# 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))

Đầu ra

[{1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}, {1, 3, 4, 5}, {2, 3, 4, 5}]

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu về cách chúng ta có thể lấy tất cả các tập con có kích thước nhất định của một tập hợp