Tuple là một cấu trúc dữ liệu bất biến (immutable), tức là không thể thay đổi sau khi khai báo.
Dùng khi cần lưu trữ dữ liệu cố định.
# Khai báo tuple
my_tuple = (1, 2, 3, "Hello", True)
# Truy cập phần tử bằng chỉ mục (index)
print(my_tuple[0]) # Output: 1
print(my_tuple[-1]) # Output: True
# Tuple có thể chứa tuple khác (nested tuple)
nested_tuple = ((1, 2), (3, 4))
print(nested_tuple[0]) # Output: (1, 2)
# Độ dài Tuple
print(len(my_tuple)) # Output: 5
Không thể thay đổi (immutable):
my_tuple[1] = 100 # ❌ Lỗi: Tuple không thể thay đổi
Có thể chứa nhiều kiểu dữ liệu khác nhau.
Có thể chứa phần tử trùng lặp.
Nếu chỉ có một phần tử, cần thêm dấu , để tránh nhầm với kiểu khác:
single_tuple = (5,) # Đây là tuple
not_a_tuple = (5) # Đây chỉ là số 5, không phải tuple
Set là một tập hợp không có thứ tự (unordered) và không chứa phần tử trùng lặp.
Dùng khi cần lưu trữ danh sách nhưng không quan tâm đến thứ tự và muốn loại bỏ phần tử trùng.
# Khai báo set
my_set = {1, 2, 3, "Hello", True}
# Thêm phần tử vào set
my_set.add(4)
# Xóa phần tử khỏi set
my_set.remove(2) # Nếu không có phần tử sẽ báo lỗi
my_set.discard(10) # Không báo lỗi nếu phần tử không tồn tại
# Duyệt qua set
for item in my_set:
print(item)
# Kiểm tra phần tử có trong set không
print(1 in my_set) # True hoặc False
Không có thứ tự (unordered).
Không chứa phần tử trùng lặp:
my_set = {1, 2, 2, 3, 3, 3}
print(my_set) # Output: {1, 2, 3}
Có thể thay đổi (mutable).
Đặc điểm | Tuple | Set |
---|---|---|
Có thứ tự? | ✅ Có | ❌ Không |
Truy cập theo index? | ✅ Có | ❌ Không |
Chứa phần tử trùng? | ✅ Có | ❌ Không |
Có thể thay đổi? | ❌ Không | ✅ Có |
Tìm kiếm:
Kiểu dữ liệu Tuples và Sets trong Python được ứng dụng rất nhiều khi lập trình ứng dụng