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

Kiểu Dữ Liệu Tuple trong Python

Tuple là kiểu dữ liệu trình tự (sequence) tương tự list, nhưng bất biến (immutable). Các phần tử cách nhau bởi dấu phẩy và bao trong cặp ngoặc đơn ( ).

Khác biệt List vs Tuple

Đặc điểmListTuple
Ký hiệu[ ]( )
Thay đổi kích thướcĐượcKhông được
Sửa phần tửĐượcKhông được
Hiệu năngChậm hơnNhanh hơn, nhẹ hơn
Dùng làm key dictKhôngĐược (nếu chứa kiểu bất biến)

Ví dụ

#!/usr/bin/python
tuple = ('abcd', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')

print(tuple)            # ('abcd', 786, 2.23, 'john', 70.2)
print(tuple[0])         # abcd
print(tuple[1:3])       # (786, 2.23)
print(tuple[2:])        # (2.23, 'john', 70.2)
print(tinytuple * 2)    # (123, 'john', 123, 'john')
print(tuple + tinytuple)# ('abcd', 786, 2.23, 'john', 70.2, 123, 'john')

Kết quả

('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')

Lỗi thường gặp

tuple = ('abcd', 786, 2.23, 'john', 70.2)
list  = ['abcd', 786, 2.23, 'john', 70.2]

tuple[2] = 1000  # TypeError: 'tuple' object does not support item assignment
list[2] = 1000   # OK - list cho phép sửa đổi

Khi nào dùng Tuple?

  • Dữ liệu không thay đổi (hằng số, cấu hình, tọa độ...)
  • Cần hiệu năng cao, tiết kiệm bộ nhớ
  • Dùng làm khóa dictionary
  • Trả về nhiều giá trị từ hàm: return x, y, z