Hướng dẫn python subset of list - tập hợp con của danh sách python
Đưa ra một bộ, viết một chương trình Python để tạo tất cả các tập hợp con có thể có kích thước n của tập hợp đã cho trong danh sách. & NBSP; Show Examples: Input : {1, 2, 3}, n = 2 Output : [{1, 2}, {1, 3}, {2, 3}] Input : {1, 2, 3, 4}, n = 3 Output : [{1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}] Chúng tôi đã thảo luận về vấn đề tương tự bằng cách sử dụng phương pháp ngây thơ trong bài viết này. Bài viết này tập trung vào các phương pháp pythonic để in tất cả các tập hợp con có kích thước nhất định của một bộ. Python có itertools.combinations (ITable, n) trả về n độ dài của các phần tử từ đầu vào có thể điều chỉnh được. Điều này có thể được sử dụng để in tất cả các tập hợp con có kích thước nhất định của một bộ. Bây giờ, chúng tôi có nhiều lựa chọn thay thế để sử dụng chức năng này.itertools.combinations(iterable, n) which Return n length subsequences of elements from the input iterable. This can be used to Print all subsets of a given size of a set. Now, we have various alternatives to use this function. Mã số 1: & nbsp; chỉ cần chuyển tập hợp là có thể lặp lại và kích thước như các đối số trong itertools.combinations () để trực tiếp tìm nạp danh sách kết hợp. & Nbsp; Python3
[(1, 2), (1, 3), (2, 3)]1 [(1, 2), (1, 3), (2, 3)]2 [(1, 2), (1, 3), (2, 3)]3 [(1, 2), (1, 3), (2, 3)]4 [(1, 2), (1, 3), (2, 3)]5 [(1, 2), (1, 3), (2, 3)]6 [(1, 2), (1, 3), (2, 3)]7 [(1, 2), (1, 3), (2, 3)]8 [(1, 2), (1, 3), (2, 3)]7 [{1, 2}, {1, 3}, {2, 3}]0 [{1, 2}, {1, 3}, {2, 3}]1 [{1, 2}, {1, 3}, {2, 3}]2 [(1, 2), (1, 3), (2, 3)]4 [(1, 2), (1, 3), (2, 3)]8 [{1, 2}, {1, 3}, {2, 3}]5 [{1, 2}, {1, 3}, {2, 3}]6 Output: [(1, 2), (1, 3), (2, 3)] & nbsp; & nbsp; mã #2: & nbsp; chúng ta cũng có thể sử dụng một giải pháp thay thế cho phương thức được thảo luận ở trên được đặt ra chức năng itertools.combinations (). & nbsp; & nbsp; Python3
[(1, 2), (1, 3), (2, 3)]1 [(1, 2), (1, 3), (2, 3)]2 [(1, 2), (1, 3), (2, 3)]3 [(1, 2), (1, 3), (2, 3)]4 [(1, 2), (1, 3), (2, 3)]5 [(1, 2), (1, 3), (2, 3)]6 [(1, 2), (1, 3), (2, 3)]7 [(1, 2), (1, 3), (2, 3)]8 [(1, 2), (1, 3), (2, 3)]7 [{1, 2}, {1, 3}, {2, 3}]0 [{1, 2}, {1, 3}, {2, 3}]1 [{1, 2}, {1, 3}, {2, 3}]2 [(1, 2), (1, 3), (2, 3)]4 [(1, 2), (1, 3), (2, 3)]8 [{1, 2}, {1, 3}, {2, 3}]5 [{1, 2}, {1, 3}, {2, 3}]6 Output: [{1, 2}, {1, 3}, {2, 3}] & nbsp; & nbsp; mã #2: & nbsp; chúng ta cũng có thể sử dụng một giải pháp thay thế cho phương thức được thảo luận ở trên được đặt ra chức năng itertools.combinations (). & nbsp; & nbsp; Python3
[(1, 2), (1, 3), (2, 3)]1 [(1, 2), (1, 3), (2, 3)]2 [(1, 2), (1, 3), (2, 3)]3 [(1, 2), (1, 3), (2, 3)]4 [(1, 2), (1, 3), (2, 3)]5 [(1, 2), (1, 3), (2, 3)]6 [(1, 2), (1, 3), (2, 3)]7 [(1, 2), (1, 3), (2, 3)]8 [(1, 2), (1, 3), (2, 3)]7 [{1, 2}, {1, 3}, {2, 3}]0 [{1, 2}, {1, 3}, {2, 3}]1 [{1, 2}, {1, 3}, {2, 3}]2 [(1, 2), (1, 3), (2, 3)]4 [(1, 2), (1, 3), (2, 3)]8 [{1, 2}, {1, 3}, {2, 3}]5 [{1, 2}, {1, 3}, {2, 3}]6 Output: [{1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}] & nbsp; & nbsp; mã #2: & nbsp; chúng ta cũng có thể sử dụng một giải pháp thay thế cho phương thức được thảo luận ở trên được đặt ra chức năng itertools.combinations (). & nbsp; & nbsp;
Python3
[(1, 2), (1, 3), (2, 3)]0 [(1, 2), (1, 3), (2, 3)]1 [{1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}]8 [{1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}]9 [{1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}]8 [[2, 3, 4], [1, 3, 4], [1, 2, 4], [1, 2, 3]]1 [[2, 3, 4], [1, 3, 4], [1, 2, 4], [1, 2, 3]]2 & nbsp; & nbsp; mã #3: & nbsp; một phương thức khác là sử dụng cho loop trong hàm itertools.combinations () và nối các bộ kết hợp vào danh sách. & nbsp; & nbsp;
[(1, 2), (1, 3), (2, 3)]0 itertools 3__[(1, 2), (1, 3), (2, 3)]3 [(1, 2), (1, 3), (2, 3)]4 [(1, 2), (1, 3), (2, 3)]5 [(1, 2), (1, 3), (2, 3)]6 [(1, 2), (1, 3), (2, 3)]7 [(1, 2), (1, 3), (2, 3)]8 [(1, 2), (1, 3), (2, 3)]7 [{1, 2}, {1, 3}, {2, 3}]0 [(1, 2), (1, 3), (2, 3)]7 [{1, 2}, {1, 3}, {2, 3}]2 [(1, 2), (1, 3), (2, 3)]4 [{1, 2}, {1, 3}, {2, 3}]0 Mã số 4: Nhiều lần khi câu hỏi này được hỏi trong các cuộc phỏng vấn, tốt hơn là bạn nên trả lời mà không cần sử dụng bất kỳ mô -đun nào. Vì vậy, đây là giải pháp không sử dụng mô -đun itertools:
[(1, 2), (1, 3), (2, 3)]4 [(1, 2), (1, 3), (2, 3)]4 3
[(1, 2), (1, 3), (2, 3)]0 6
[{1, 2}, {1, 3}, {2, 3}]5 [(1, 2), (1, 3), (2, 3)]55 Output: 8[(1, 2), (1, 3), (2, 3)]4 [(1, 2), (1, 3), (2, 3)]00 [(1, 2), (1, 3), (2, 3)]6 [(1, 2), (1, 3), (2, 3)]02 How do I see all subsets of a list?E.
[(1, 2), (1, 3), (2, 3)]17
[(1, 2), (1, 3), (2, 3)]0 [(1, 2), (1, 3), (2, 3)]20 itertools 6 8itertools 8 [(1, 2), (1, 3), (2, 3)]24__
[(1, 2), (1, 3), (2, 3)]32 [(1, 2), (1, 3), (2, 3)]4 [(1, 2), (1, 3), (2, 3)]4 [(1, 2), (1, 3), (2, 3)]35 [(1, 2), (1, 3), (2, 3)]36
[(1, 2), (1, 3), (2, 3)]4 itertools 3[(1, 2), (1, 3), (2, 3)]6 [(1, 2), (1, 3), (2, 3)]7 [(1, 2), (1, 3), (2, 3)]8 [(1, 2), (1, 3), (2, 3)]7__ __222214 [{1, 2}, {1, 3}, {2, 3}]0
Dưới đây là các bước để tạo ra nó:. Chọn một phần tử từ đầu vào, tức là tập hợp con [len] = s [pos]. .... Hình thành tập hợp con đệ quy bao gồm nó, tức là allsubsets (pos+1, len+1, tập hợp con). Hình thành tập hợp con đệ quy không bao gồm nó, tức là allsubsets (pos+1, len, tập hợp con). Đảm bảo tạo từng bộ một lần .. Làm thế nào để bạn tạo một tập hợp con của một danh sách? Tạo các tập hợp danh sách.Chọn danh sách chung trong thanh Cài đặt mô hình ... The most used and recommended method to check for a sublist. This function is tailor made to perform the particular task of checking if one list is a subset of another. |