Nếu cần lấy các tổ hợp tổng (combinations of sum) đối với các tuple trong một list of tuples, có thể dùng phương thức combinations và list comprehension.
Phương thức combinations trả về dãy con độ dài r của các phần tử từ iterable được truyền vào. Các tổ hợp được hiển thị theo thứ tự sắp xếp từ điển (lexicographic sort order). Các tuple tổ hợp được hiển thị theo thứ tự đã sắp xếp.
List có thể lưu trữ các giá trị khác kiểu. List of tuple về cơ bản chứa các tuple được bao quanh bởi một list.
Dưới đây là ví dụ minh họa:
Ví dụ
from itertools import combinations
my_list = [(67, 45), (34, 56), (99, 123), (10, 56)]
print("List of tuple là:")
print(my_list)
my_result = [(b1 + a1, b2 + a2) for (a1, a2), (b1, b2) in combinations(my_list, 2)]
print("Kết quả tổ hợp tổng là:")
print(my_result)Kết quả
List of tuple là: [(67, 45), (34, 56), (99, 123), (10, 56)] Kết quả tổ hợp tổng là: [(101, 101), (166, 168), (77, 101), (133, 179), (44, 112), (109, 179)]
Giải thích
- Định nghĩa list of tuples và hiển thị trên bảng điều khiển.
- Dùng
combinationsđể trả về dãy con độ dài 2, như chỉ định trong phương thức. - Duyệt list of tuple, cộng phần tử từ mỗi tuple trong list of tuple với phần tử từ tuple tiếp theo.
- Gán giá trị cho một biến.
- Biến này là đầu ra hiển thị trên bảng điều khiển.