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)