Skip to content
TechJunior
Menu
  • Đổi mới giáo dục
  • Nuôi dạy con cái
  • Công nghệ và đời sống
  • Thuật ngữ Lập trình
Menu

Hướng Dẫn Xử Lý Và Truy Cập Dữ Liệu Trong Nested Dictionary Python

Posted on February 23, 2025

1. Nested Dictionary Là Gì?

Trong Python, nested dictionary (từ điển lồng nhau) là một dictionary chứa một hoặc nhiều dictionary bên trong nó. Điều này giúp tổ chức dữ liệu có cấu trúc phức tạp hơn, tương tự như một bảng dữ liệu có nhiều cấp độ.

Ví dụ về một nested dictionary:

sinh_vien = {
"SV001": {
"tên": "Nguyễn Văn A",
"tuổi": 20,
"điểm": {"toán": 8.5, "văn": 7.0, "anh": 9.0}
},
"SV002": {
"tên": "Trần Thị B",
"tuổi": 21,
"điểm": {"toán": 6.5, "văn": 8.0, "anh": 7.5}
}
}

2. Cách Truy Cập Dữ Liệu Trong Nested Dictionary

2.1. Truy Cập Giá Trị Trực Tiếp

Bạn có thể truy cập dữ liệu bằng cách sử dụng các key của dictionary.

print(sinh_vien["SV001"]["tên"])   # Kết quả: Nguyễn Văn A
print(sinh_vien["SV002"]["điểm"]["toán"]) # Kết quả: 6.5

2.2. Tránh Lỗi KeyError Khi Truy Cập Key Không Tồn Tại

Sử dụng phương thức .get() để tránh lỗi khi key không tồn tại.

print(sinh_vien.get("SV003", "Không tìm thấy sinh viên"))  # Kết quả: Không tìm thấy sinh viên
print(sinh_vien["SV001"].get("điểm", {}).get("hóa", "Không có điểm môn Hóa")) # Kết quả: Không có điểm môn Hóa

2.3. Sử Dụng Vòng Lặp Để Duyệt Từng Phần Tử

Dùng vòng lặp for để duyệt qua các dictionary lồng nhau.

for ma_sv, thong_tin in sinh_vien.items():
print(f"Mã SV: {ma_sv}, Tên: {thong_tin['tên']}, Tuổi: {thong_tin['tuổi']}")

Kết quả:

Mã SV: SV001, Tên: Nguyễn Văn A, Tuổi: 20
Mã SV: SV002, Tên: Trần Thị B, Tuổi: 21

3. Cập Nhật Và Thêm Dữ Liệu Vào Nested Dictionary

3.1. Thêm Một Sinh Viên Mới

sinh_vien["SV003"] = {
"tên": "Phạm Văn C",
"tuổi": 19,
"điểm": {"toán": 9.0, "văn": 6.5, "anh": 8.0}
}

3.2. Cập Nhật Dữ Liệu

Giả sử cần cập nhật điểm môn Toán của sinh viên SV002:

sinh_vien["SV002"]["điểm"]["toán"] = 7.5

4. Xóa Phần Tử Trong Nested Dictionary

4.1. Xóa Một Key Bên Trong Dictionary

del sinh_vien["SV001"]["điểm"]["văn"]  # Xóa điểm môn Văn của SV001

4.2. Xóa Một Sinh Viên

sinh_vien.pop("SV002", "Không tìm thấy sinh viên")  # Xóa sinh viên SV002

5. Xử Lý Nested Dictionary Với Vòng Lặp Đệ Quy

Khi bạn không biết trước số cấp lồng nhau của dictionary, bạn có thể dùng đệ quy để duyệt hết dữ liệu.

def duyệt_dictionary(dic, cấp=0):
for key, value in dic.items():
print(" " * cấp * 4 + f"{key}: {value}" if not isinstance(value, dict) else f"{key}:")
if isinstance(value, dict):
duyệt_dictionary(value, cấp + 1)

duyệt_dictionary(sinh_vien)

Tổng Kết

✔ Truy cập dữ liệu: Dùng dict["key"], .get() để tránh lỗi.
✔ Duyệt dữ liệu: Sử dụng vòng lặp for.
✔ Cập nhật & thêm dữ liệu: Gán giá trị mới trực tiếp.
✔ Xóa dữ liệu: Dùng del hoặc .pop().
✔ Duyệt tất cả dữ liệu: Dùng vòng lặp đệ quy nếu dictionary lồng nhau phức tạp.

Với các kiến thức trên, bạn có thể dễ dàng làm việc với nested dictionary trong Python một cách hiệu quả! 🚀

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • 🔥 Danh Sách Liên Kết Trong C – Hướng Dẫn Toàn Diện Từ Cơ Bản Đến Nâng Cao! 🔥
  • 🔥 Con trỏ trong C – Từ Cơ Bản Đến Nâng Cao🔥
  • XU HƯỚNG NỔI BẬT TRONG ỨNG DỤNG TRÍ TUỆ NHÂN TẠO (AI) TRONG DỊCH THUẬT
  • 10 công cụ AI tốt nhất cho giáo viên trong 2025
  • Unitree G1 – Robot Hình Người Đầu Tiên Có Thể “Bật Tôm”! 🤖🔥

Categories

  • Uncategorized
©2025 TechJunior | Design: Newspaperly WordPress Theme