Giới thiệu
Để tạo tất cả các tổ hợp có độ dài bằng list gốc, lấy từ phép hợp của list gốc và list thay thế, ta dùng itertools.combinations.
Ví dụ minh họa
from itertools import combinations
my_list = [54, 98, 11]
print("Danh sách gốc:")
print(my_list)
replace_list = [8, 10]
my_result = list(combinations(my_list + replace_list, len(my_list)))
print("Tất cả tổ hợp độ dài 3 từ (gốc + thay thế):")
print(my_result)
Kết quả đầu ra
Danh sách gốc: [54, 98, 11] Tất cả tổ hợp độ dài 3 từ (gốc + thay thế): [(54, 98, 11), (54, 98, 8), (54, 98, 10), (54, 11, 8), (54, 11, 10), (54, 8, 10), (98, 11, 8), (98, 11, 10), (98, 8, 10), (11, 8, 10)]
Giải thích
my_list + replace_listnối hai list.combinations(..., len(my_list))tạo tổ hợp độ dài bằng list gốc.- Kết quả bao gồm tổ hợp toàn bộ từ list gốc, và các tổ hợp có 1 hoặc 2 phần tử từ replace_list.