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