Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kết hợp tuple trong danh sách tuple trong Python

Phân tích dữ liệu đôi khi dùng cấu trúc kết hợp: list chứa tuple. Bài viết trình bày cách kết hợp mỗi phần tử tuple với phần tử khác cho trước, tạo list tuple combination.

Sử dụng vòng lặp for

Tạo vòng lặp for tạo cặp phần tử bằng cách lấy từng phần tử của tuple và lặp qua phần tử trong list.

Ví dụ

Alist = [([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')]  # List of tuple cho trước
print("List of tuples : \n", Alist)
# Kết hợp tuple trong list of tuples
res = [(t1, t2) for i, t2 in Alist for t1 in i]  # In kết quả
print("The list tuple combination : \n", res)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

List of tuples : [([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')] The list tuple combination : [(2, 'Mon'), (8, 'Mon'), (9, 'Mon'), (7, 'Wed'), (5, 'Wed'), (6, 'Wed')]

Sử dụng product

itertools.product tạo tích Descartes của tham số. Thiết kế vòng lặp qua từng phần tử tuple tạo cặp với phần tử không phải list trong tuple.

Ví dụ

from itertools import product
Alist = [([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')]  # List of tuple cho trước
print("List of tuples : \n", Alist)
# Kết hợp tuple trong list of tuples
res = [x for i, j in Alist for x in product(i, [j])]  # In kết quả
print("The list tuple combination : \n", res)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

List of tuples : [([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')] The list tuple combination : [(2, 'Mon'), (8, 'Mon'), (9, 'Mon'), (7, 'Wed'), (5, 'Wed'), (6, 'Wed')]