Python có 4 cấu trúc dữ liệu cốt lõi (built-in), mỗi loại có đặc điểm riêng.
1. List - Danh sách có thứ tự, mutable
lst = ['tutorialspoint', 786, 34.56, 2+3j]
print("Phần tử:", lst[0])
lst.append('python') # Thêm cuối
print("Độ dài:", len(lst))
lst.pop() # Xóa cuối
print("Sau pop:", lst)
2. Tuple - Tuple bất biến (immutable)
tup = ('tutorialspoint', 786, 34.56, 2+3j)
print("Phần tử:", tup[0])
print("Độ dài:", len(tup))
# tup.append('python') # LỖI: AttributeError
# tup.pop() # LỖI: AttributeError
3. Set - Tập hợp không trùng, không thứ tự
st = {'tutorial', 'point', 'python'}
for item in st:
print(item, end=' ')
print("\nMax:", max(st), "Min:", min(st), "Len:", len(st))
4. Dictionary - Ánh xạ key-value, key bất biến
d = {}
d['tutorial'] = 786
d['point'] = 56
print("Keys:", d.keys())
print("Values:", d.values())
print("Min key:", min(d), "Max key:", max(d))
Bảng so sánh tóm tắt
| Đặc điểm | List | Tuple | Set | Dict |
|---|---|---|---|---|
| Thứ tự | Có | Có | Không (3.7+ insertion order) | Có (3.7+ insertion order) |
| Mutable | Có | Không | Có | Có |
| Trùng lặp | Cho phép | Cho phép | Không | Key không trùng |
| Index/Slice | Có | Có | Không | Key-based |
| Hiệu năng lookup | O(n) | O(n) | O(1) | O(1) key |
Khi nào dùng cái nào?
- List: Danh sách thứ tự, cần sửa đổi, stack/queue.
- Tuple: Bản ghi bất biến, key dict, return multiple values.
- Set: Tập hợp duy nhất, kiểm tra membership nhanh, phép tập hợp (union, intersection).
- Dict: Tra cứu key-value, cấu hình, counting, caching.
Kết luận
Nắm vững 4 cấu trúc này là nền tảng lập trình Python hiệu quả.