Python - Nested Dictionaries

در پایتون، Nested Dictionaries یا دیکشنری‌های تو در تو دیکشنری‌هایی هستند که مقادیر آن‌ها خود دیکشنری باشند. این ساختار برای ذخیره داده‌های پیچیده بسیار کاربردی است. در ادامه درسنامه‌ای مشابه سبک قبلی آماده کرده‌ام:

🔹 تعریف دیکشنری تو در تو

people = { "person1": {"name": "Ali", "age": 25, "city": "Tehran"}, "person2": {"name": "Sara", "age": 30, "city": "Mashhad"} } print(people)

📌 خروجی:

{'person1': {'name': 'Ali', 'age': 25, 'city': 'Tehran'}, 'person2': {'name': 'Sara', 'age': 30, 'city': 'Mashhad'}}

🔹 دسترسی به عناصر داخلی

برای دسترسی به مقادیر دیکشنری تو در تو، از چند کلید پشت سر هم استفاده می‌کنیم:

print(people["person1"]["name"]) # Ali print(people["person2"]["city"]) # Mashhad

🔹 تغییر یا اضافه کردن مقادیر

می‌توانیم مقادیر داخلی را تغییر دهیم یا کلید جدید اضافه کنیم:

# تغییر مقدار people["person1"]["age"] = 26 # اضافه کردن کلید جدید people["person2"]["job"] = "Engineer" print(people)

📌 خروجی:

{'person1': {'name': 'Ali', 'age': 26, 'city': 'Tehran'}, 'person2': {'name': 'Sara', 'age': 30, 'city': 'Mashhad', 'job': 'Engineer'}}

🔹 پیمایش دیکشنری‌های تو در تو

for person_id, info in people.items(): print(person_id) for key, value in info.items(): print(f" {key}: {value}")

📌 خروجی:

person1 name: Ali age: 26 city: Tehran person2 name: Sara age: 30 city: Mashhad job: Engineer

🔹 نکات مهم

  • دیکشنری تو در تو برای ذخیره‌سازی داده‌های پیچیده مثل اطلاعات کاربران، محصولات یا تنظیمات مناسب است.

  • دسترسی و تغییر مقادیر نیازمند استفاده از چند کلید به ترتیب است.

  • می‌توان دیکشنری‌های تو در تو را با روش‌های قبلی مانند ()copy یا ()deepcopy کپی کرد، اما برای کپی کامل و مستقل از ()deepcopy استفاده شود.