Cách lặp qua từ điển trong Python (Khóa, Giá trị và Mục)

Tìm hiểu cách lặp hoặc lặp qua từ điển Python. Khám phá các phương pháp lặp qua các khóa, giá trị và cặp khóa-giá trị bằng các ví dụ rõ ràng, có thể chạy được.

Hãy thử Giải pháp này trong Trình chỉnh sửa

Tổng quan

Lặp lại từ điển là một nhiệm vụ cơ bản trong lập trình Python, vì từ điển được sử dụng rộng rãi để lưu trữ dữ liệu khóa-giá trị như bản ghi cơ sở dữ liệu, tải trọng API và cài đặt cấu hình. Python cung cấp một số phương thức tích hợp, trực quan để duyệt từ điển tùy thuộc vào việc bạn cần khóa, giá trị hay cả hai. Hiểu các phương pháp này là rất quan trọng để viết mã sạch, hiệu quả và dễ đọc.

Cách phổ biến nhất để lặp đồng thời cả khóa và giá trị là sử dụng phương thức `.items()`. Phương thức này trả về một đối tượng khung nhìn chứa các bộ cặp khóa-giá trị, có thể dễ dàng giải nén trực tiếp bên trong câu lệnh vòng lặp `for`. Điều này thường được ưu tiên hơn là lặp qua các khóa và tra cứu các giá trị theo cách thủ công, vì nó dễ đọc hơn và hiệu quả hơn.

Nếu bạn chỉ cần khóa, bạn có thể lặp trực tiếp qua chính từ điển hoặc sử dụng phương thức `.keys()` một cách rõ ràng. Để chỉ lặp lại các giá trị, Python cung cấp phương thức `.values()`. Cả hai đối tượng khung nhìn này đều động, phản ánh mọi thay đổi được thực hiện đối với từ điển và hỗ trợ kiểm tra tư cách thành viên bằng toán tử `in`.

Đầu ra mã & thực thi

Mã này thể hiện việc lặp lại các khóa, giá trị và cặp khóa-giá trị trong từ điển.

user = {"username": "alice", "role": "admin", "active": "True"}

# 1. Iterate over keys and values using items()
print("--- Keys and Values ---")
for key, value in user.items():
    print(f"{key}: {value}")

# 2. Iterate over keys only (default behavior)
print("\n--- Keys Only ---")
for key in user:
    print("Key:", key)

# 3. Iterate over values only
print("\n--- Values Only ---")
for val in user.values():
    print("Value:", val)
Đầu ra thiết bị đầu cuối
--- Keys and Values ---
username: alice
role: admin
active: True

--- Keys Only ---
Key: username
Key: role
Key: active

--- Values Only ---
Value: alice
Value: admin
Value: True

Triển khai từng bước

  • Sử dụng user.items() trong vòng lặp for để trích xuất và giải nén đồng thời cả khóa và giá trị.
  • Lặp trực tiếp qua từ điển (hoặc gọi .keys()) để chỉ lặp qua các phím.
  • Sử dụng .values() để tách biệt và lặp qua các giá trị của từ điển.

Câu hỏi thường gặp

Thứ tự chèn có được giữ nguyên khi lặp qua từ điển không?

Có, bắt đầu từPython 3.7+, từ điển được đảm bảo duy trì thứ tự chèn của khóa.

Bạn có thể sửa đổi một từ điển trong khi duyệt qua nó không?

Không, việc sửa đổi khóa (thêm hoặc xóa) trong quá trình lặp sẽ gây ra RuntimeError. Thay vào đó, hãy sửa đổi bản sao của khóa hoặc giá trị.

Chủ đề liên quan

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.