Từ điển (Dictionary) trong Python

hướng dẫn học python tìm hiểu ngôn ngữ lập trình python nguyễn Đức mùi

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.

hướng dẫn học python tìm hiểu ngôn ngữ lập trình python nguyễn Đức mùi

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""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ặp key-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.

Menu Python>>

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

error: Content is protected !!
Hotline: 039.2266.928
Khóa học Toefl
Phone now