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

Tuple lồng nhau (Tuple trong Tuple) trong Python

Vì tuple chứa được bất kỳ đối tượng Python nào, nên tuple có thể là phần tử của tuple khác — tạo thành nested tuple.

Ví dụ

>>> t1 = (1, (4, 5, 6), 2, 3)
>>> t1
(1, (4, 5, 6), 2, 3)

>>> t1[1]        # phần tử index 1 là tuple con
(4, 5, 6)

>>> t1[1][1]     # phần tử index 1 của tuple con
5

Ứng dụng

  • Biểu diễn cấu trúc phân cấp, tọa độ đa chiều, cây dữ liệu.
  • Key dictionary phức tạp: {(x, y): value}.

Flatten nested tuple

def flatten_tuple(t):
    result = []
    for item in t:
        if isinstance(item, tuple):
            result.extend(flatten_tuple(item))
        else:
            result.append(item)
    return tuple(result)

>>> flatten_tuple((1, (2, (3, 4)), 5))
(1, 2, 3, 4, 5)