دوره‌ها / آموزش پایتون (Python) / دیکشنری‌ها (Python Dictionaries)

دیکشنری‌ها (Python Dictionaries)

15 دقیقه Article

دیکشنری‌ها: نقشه‌برداری کلید-مقدار (Dictionaries) 📖🔑

دیکشنری‌ها (Dictionaries) برای ذخیره مقادیر داده به صورت Key:Value استفاده می‌شوند. دیکشنری مجموعه‌‌ای است که مرتب (از نسخه 3.7 پایتون به بعد)، قابل تغییر و غیرقابل تکرار (برای کلیدها) می‌باشد.

ساختار دیکشنری:

تصور کنید یک دیکشنری واقعی دارید؛ شما یک کلمه (کلید) را جستجو می‌کنید تا معنی (مقدار) آن را پیدا کنید. در پایتون هم دقیقاً همین است:

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
print(thisdict)

۱. دسترسی به مقادیر

شما می‌توانید با ارجاع به نام 'کلید' در داخل براکت، به مقدار آن دسترسی پیدا کنید:

x = thisdict["model"]
y = thisdict.get("year")

۲. تغییر و افزودن

برای تغییر یک مقدار یا اضافه کردن یک جفت کلید-مقدار جدید، به راحتی از کلید استفاده می‌کنید:

thisdict["year"] = 2020  # تغییر
thisdict["color"] = "red" # افزودن

۳. متدهای کلیدی دیکشنری

  • keys(): لیستی از تمام کلیدهای دیکشنری برمی‌گرداند.
  • values(): لیستی از تمام مقادیر برمی‌گرداند.
  • items(): هر جفت کلید-مقدار را به صورت یک تاپل در یک لیست برمی‌گرداند.
  • update(): آپدیت کردن دیکشنری با آیتم‌هایی از یک آبجکت دیگر.

۴. دیکشنری‌های تو در تو (Nested) 🪆

یک دیکشنری می‌تواند شامل دیکشنری‌های دیگری باشد. این برای ساختار داده‌های پیچیده (مثل داده‌های JSON که از اینترنت می‌آیند) بسیار حیاتی است:

myfamily = {
  "child1": {"name": "Emil", "year": 2004},
  "child2": {"name": "Tobias", "year": 2007}
}
کلیدها باید یکتا باشند: شما نمی‌دونید دو کلید هم‌نام در یک دیکشنری داشته باشید. اگر کلید تکراری تعریف کنید، مقدار جدید جایگزین مقدار قدیمی می‌شود.
بهترین برای جستجو: دیکشنری‌ها برای جستجوی سریع داده‌ها بر اساس یک شناسه (مثل ID کاربر) فوق‌العاده سریع و بهینه هستند.

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

آپدیت دیکشنری Medium
سوال تمرین

در دیکشنری car، مقدار کلید 'year' را از 1964 به 2024 تغییر دهید و سپس دیکشنری را چاپ کنید.

پاسخ تمرین
PYTHON
car = {'brand': 'Ford', 'model': 'Mustang', 'year': 1964}
car['year'] = 2024
print(car)

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.