1. Từ điển là gì?
Từ điển (dictionary) trong Python là một kiểu dữ liệu lưu trữ giá trị theo cặp key: value. Mỗi khóa (key) trong từ điển phải là duy nhất và không thể thay đổi (immutable), trong khi các giá trị (value) có thể lặp lại và thuộc bất kỳ kiểu dữ liệu nào.

Ví dụ: Dữ liệu được lưu trữ theo cặp key: value
giúp tìm kiếm giá trị dễ dàng hơn.
d = {1: 'Python', 2: 'Lập trình', 3: 'Cơ bản'} print(d)
Kết quả:
{1: 'Python', 2: 'Lập trình', 3: 'Cơ bản'}
2. Cách tạo từ điển
Trong Python, có thể tạo từ điển bằng cách đặt các phần tử trong dấu {}
, phân tách bởi dấu phẩy ,
, hoặc sử dụng hàm dict()
.
Ví dụ 1: Tạo từ điển bằng {}
d1 = {1: 'Python', 2: 'Lập trình', 3: 'Cơ bản'} print(d1)
Ví dụ 2: Tạo từ điển bằng dict()
d2 = dict(a="Python", b="lập trình", c="cơ bản") print(d2)
Kết quả:
{1: 'Python', 2: 'Lập trình', 3: 'Cơ bản'} {'a': 'Python', 'b': 'lập trình', 'c': 'cơ bản'}
3. Đặc điểm của từ điển trong Python
- Từ Python 3.7 trở đi, từ điển có thứ tự cố định theo thứ tự chèn.
- Khóa phân biệt chữ hoa và chữ thường, nghĩa là
"Key"
và"key"
là hai khóa khác nhau. - Khóa phải là kiểu dữ liệu bất biến, có thể là chuỗi (
str
), số (int
,float
) hoặc bộ (tuple
), nhưng không thể là danh sách (list
). - Khóa phải là duy nhất, nếu có khóa trùng nhau, giá trị mới sẽ ghi đè giá trị cũ.
- Từ điển sử dụng cơ chế băm (hashing) giúp các thao tác tìm kiếm, chèn, xóa thực hiện với thời gian cố định (O(1)).
4. Truy cập phần tử trong từ điển
Có thể truy cập giá trị trong từ điển bằng cách sử dụng khóa trong []
hoặc phương thức get()
.
d = {"name": "Alice", 1: "Python", (1, 2): [1, 2, 4]} # Truy cập bằng khóa print(d["name"]) # Truy cập bằng get() print(d.get("name"))
Kết quả:
Alice Alice
5. Thêm và cập nhật phần tử trong từ điển
Có thể thêm mới hoặc cập nhật giá trị của một khóa bằng cách gán giá trị cho khóa đó.
d = {1: 'Python', 2: 'Lập trình', 3: 'Cơ bản'} # Thêm một cặp key-value mới d["age"] = 22 # Cập nhật giá trị của một khóa d[1] = "Ngôn ngữ lập trình" print(d)
Kết quả:
{1: 'Ngôn ngữ lập trình', 2: 'Lập trình', 3: 'Cơ bản', 'age': 22}
6. Xóa phần tử trong từ điển
Có thể xóa phần tử bằng các phương thức sau:
del
: Xóa phần tử theo khóa.pop()
: Xóa phần tử theo khóa và trả về giá trị bị xóa.popitem()
: Xóa và trả về cặpkey-value
cuối cùng.clear()
: Xóa toàn bộ từ điển.
d = {1: 'Python', 2: 'Lập trình', 3: 'Cơ bản', 'age': 22} # Xóa phần tử theo khóa del d["age"] print(d) # Xóa phần tử bằng pop() val = d.pop(1) print(val) # Xóa phần tử cuối cùng bằng popitem() key, val = d.popitem() print(f"Khóa: {key}, Giá trị: {val}") # Xóa toàn bộ từ điển d.clear() print(d)
Kết quả:
{1: 'Python', 2: 'Lập trình', 3: 'Cơ bản'} Python Khóa: 3, Giá trị: Cơ bản {}
7. Duyệt qua từ điển
Có thể duyệt qua từ điển theo các cách sau:
- Duyệt qua các khóa bằng
keys()
. - Duyệt qua các giá trị bằng
values()
. - Duyệt qua cặp khóa – giá trị bằng
items()
.
d = {1: 'Python', 2: 'Lập trình', 'age': 22} # Duyệt qua các khóa for key in d: print(key) # Duyệt qua các giá trị for value in d.values(): print(value) # Duyệt qua cặp key-value for key, value in d.items(): print(f"{key}: {value}")
Kết quả:
1 2 age Python Lập trình 22 1: Python 2: Lập trình age: 22
8. Từ điển lồng nhau (Nested Dictionary)
Từ điển có thể chứa các từ điển con bên trong, giúp tổ chức dữ liệu có cấu trúc.
d = {1: 'Python', 2: 'Lập trình', 3: {'A': 'Chào mừng', 'B': 'đến', 'C': 'Python'}} print(d)
Kết quả:
{1: 'Python', 2: 'Lập trình', 3: {'A': 'Chào mừng', 'B': 'đến', 'C': 'Python'}}
Kết luận
Từ điển là một cấu trúc dữ liệu quan trọng trong Python, cung cấp khả năng lưu trữ dữ liệu linh hoạt và hiệu quả. Nắm vững cách tạo, truy cập, cập nhật và duyệt qua từ điển giúp lập trình viên xử lý dữ liệu nhanh chóng và tối ưu hơn.