List và Tuple là sequence data type. Cùng là comma-separated collection, items không nhất thiết cùng type. Khác biệt chính: List mutable, Tuple immutable.
Immutable object không thể modify sau khi tạo trong memory. Không thể add/modify/remove item từ tuple. List thì làm được tất cả.
Ví dụ minh họa
# List - mutable L = [1, 2, 3] L.append(4) # [1, 2, 3, 4] L[0] = 10 # [10, 2, 3, 4] del L[1] # [10, 3, 4] # Tuple - immutable T = (1, 2, 3) T.append(4) # AttributeError T[0] = 10 # TypeError del T[1] # TypeError
Hệ quả: Tuple an toàn hơn cho dữ liệu không thay đổi, dùng làm dict key, nhanh hơn nhẹ, memory hiệu quả hơn.