دیکشنری در پایتون چیست؟

دیکشنری یا Dictionary یکی از انواع داده‌های مهم در پایتون است که برای ذخیره اطلاعات به صورت کلید و مقدار استفاده می‌شود.

در دیکشنری هر اطلاعات با یک Key مشخص می‌شود و مقدار مربوط به آن را با Value ذخیره می‌کنیم.

دیکشنری در پایتون چگونه ساخته می‌شود؟

برای ساخت دیکشنری از علامت‌های { } استفاده می‌کنیم.

person = {
    "name": "Ali",
    "age": 25,
    "city": "Tehran"
}

در مثال بالا:

دسترسی به مقدار یک کلید

برای دسترسی به مقدار یک کلید، نام کلید را داخل براکت قرار می‌دهیم.

person = {
    "name": "Ali",
    "age": 25
}

print(person["name"])
print(person["age"])

خروجی:

Ali
25

استفاده از get()

روش دیگری برای دسترسی به مقدار یک کلید، استفاده از متد get() است.

person = {
    "name": "Ali",
    "age": 25
}

print(person.get("name"))

خروجی:

Ali

یکی از مزیت‌های get() این است که اگر کلید وجود نداشته باشد، به صورت معمول خطای KeyError ایجاد نمی‌کند.

print(person.get("email"))

خروجی:

None

اضافه کردن اطلاعات به Dictionary

می‌توانیم یک کلید جدید به دیکشنری اضافه کنیم.

person = {
    "name": "Ali",
    "age": 25
}

person["city"] = "Tehran"

print(person)

خروجی:

{'name': 'Ali', 'age': 25, 'city': 'Tehran'}

تغییر مقدار یک کلید

اگر کلید از قبل وجود داشته باشد، با اختصاص مقدار جدید می‌توانیم مقدار آن را تغییر دهیم.

person = {
    "name": "Ali",
    "age": 25
}

person["age"] = 26

print(person["age"])

خروجی:

26

حذف اطلاعات از Dictionary

برای حذف اطلاعات از دیکشنری روش‌های مختلفی وجود دارد.

استفاده از pop()

person = {
    "name": "Ali",
    "age": 25,
    "city": "Tehran"
}

person.pop("age")

print(person)

استفاده از del

person = {
    "name": "Ali",
    "age": 25
}

del person["age"]

print(person)

استفاده از popitem()

متد popitem() آخرین آیتم دیکشنری را حذف می‌کند.

person = {
    "name": "Ali",
    "age": 25,
    "city": "Tehran"
}

person.popitem()

print(person)

پاک کردن تمام اطلاعات

با استفاده از clear() تمام آیتم‌های دیکشنری حذف می‌شوند.

person = {
    "name": "Ali",
    "age": 25
}

person.clear()

print(person)

خروجی:

{}

دریافت کلیدهای Dictionary با keys()

person = {
    "name": "Ali",
    "age": 25,
    "city": "Tehran"
}

print(person.keys())

دریافت مقادیر با values()

person = {
    "name": "Ali",
    "age": 25,
    "city": "Tehran"
}

print(person.values())

دریافت کلید و مقدار با items()

با استفاده از items() می‌توانیم کلید و مقدار را همزمان دریافت کنیم.

person = {
    "name": "Ali",
    "age": 25
}

print(person.items())

بررسی وجود یک کلید با in

با عملگر in می‌توانیم بررسی کنیم که یک کلید در دیکشنری وجود دارد یا خیر.

person = {
    "name": "Ali",
    "age": 25
}

print("name" in person)
print("email" in person)

خروجی:

True
False

حلقه for در Dictionary

می‌توانیم با استفاده از حلقه for روی اطلاعات یک دیکشنری حرکت کنیم.

نمایش کلیدها

person = {
    "name": "Ali",
    "age": 25,
    "city": "Tehran"
}

for key in person:
    print(key)

نمایش مقادیر

for value in person.values():
    print(value)

نمایش کلید و مقدار

for key, value in person.items():
    print(key, value)

خروجی:

name Ali
age 25
city Tehran

دیکشنری تو در تو چیست؟

گاهی اوقات لازم است یک دیکشنری را داخل دیکشنری دیگری قرار دهیم. به این ساختار Nested Dictionary گفته می‌شود.

students = {
    "student1": {
        "name": "Ali",
        "age": 20
    },
    "student2": {
        "name": "Sara",
        "age": 22
    }
}

برای دسترسی به اطلاعات می‌توانیم از چند کلید استفاده کنیم.

print(students["student1"]["name"])

خروجی:

Ali

یک مثال کاربردی از Dictionary

فرض کنید می‌خواهیم اطلاعات یک محصول را ذخیره کنیم:

product = {
    "name": "Laptop",
    "price": 50000,
    "stock": 10
}

print("نام محصول:", product["name"])
print("قیمت:", product["price"])
print("موجودی:", product["stock"])

تفاوت Dictionary با List و Tuple

نوع داده ساختار دسترسی قابل تغییر
List [] با Index بله
Tuple () با Index خیر
Dictionary {} با Key بله

خلاصه دستورات مهم Dictionary

دستور کاربرد
dict[key] دسترسی به مقدار
get() دریافت مقدار
keys() دریافت کلیدها
values() دریافت مقادیر
items() دریافت کلید و مقدار
pop() حذف یک کلید
popitem() حذف آخرین آیتم
clear() حذف تمام آیتم‌ها
in بررسی وجود کلید

سوالات متداول

Dictionary در پایتون چیست؟

Dictionary یک نوع داده برای ذخیره اطلاعات به صورت Key و Value است.

چگونه به مقدار یک کلید دسترسی پیدا کنیم؟

می‌توانیم از براکت یا متد get() استفاده کنیم.

آیا Dictionary قابل تغییر است؟

بله. می‌توانیم مقدارها را تغییر دهیم، اطلاعات جدید اضافه کنیم و آیتم‌ها را حذف کنیم.

تفاوت اصلی Dictionary با List چیست؟

در List معمولاً اطلاعات با Index مشخص می‌شوند، اما در Dictionary اطلاعات با Key مشخص می‌شوند.

جمع‌بندی

دیکشنری یکی از مهم‌ترین ساختارهای داده در پایتون است. در Dictionary اطلاعات به صورت کلید و مقدار ذخیره می‌شوند.

در ادامه مسیر یادگیری پایتون، دیکشنری اهمیت زیادی دارد؛ زیرا در موضوعاتی مانند کار با JSON، APIها، وب‌اسکرپینگ و پروژه‌های هوش مصنوعی زیاد با Dictionary کار خواهیم کرد.

← درس قبلی: تاپل در پایتون بازگشت به آموزش پایتون درس بعدی: مجموعه‌ها (Set) →