Khi bắt buộc phải lấy phần tử tối thiểu để tạo một chuỗi, thì cần phải có toán tử "set", phương thức "integration", phương thức "Issubset" và một phép lặp đơn giản.
Ví dụ
Dưới đây là một minh chứng về điều tương tự
from itertools import combinations my_list = ["python", "is", "fun", "to", "learn"] print("The list is :") print(my_list) my_target_str = "onis" my_result = -1 my_set_string = set(my_target_str) complete_val = False for value in range(0, len(my_list) + 1): for sub in combinations(my_list, value): temp_set = set(ele for subl in sub for ele in subl) if my_set_string.issubset(temp_set): my_result = value complete_val = True break if complete_val: break print("The result is :") print(my_result)
Đầu ra
The list is : ['python', 'is', 'fun', 'to', 'learn'] The result is : 2
Giải thích
-
Các gói bắt buộc được nhập vào môi trường.
-
Một danh sách được xác định và hiển thị trên bảng điều khiển.
-
Một chuỗi khác được xác định.
-
Chuỗi được chuyển đổi thành một danh sách.
-
Danh sách được lặp lại và thu được các kết hợp khác nhau của các phần tử trong danh sách.
-
Danh sách được lặp lại và chuyển đổi thành một tập hợp.
-
Phương thức 'Issubset' được sử dụng để kiểm tra xem một giá trị nhất định có thuộc tập hợp hay không.
-
Nếu có, một biến được gán giá trị 'True' và thoát ra khỏi vòng lặp.
-
Nếu cuối cùng giá trị này là 'True', kết quả sẽ được hiển thị trên bảng điều khiển.