دیکشنری در پایتون چیست؟
دیکشنری یا Dictionary یکی از انواع دادههای مهم در پایتون است که برای ذخیره اطلاعات به صورت کلید و مقدار استفاده میشود.
در دیکشنری هر اطلاعات با یک Key مشخص میشود و مقدار مربوط به آن را با Value ذخیره میکنیم.
دیکشنری در پایتون چگونه ساخته میشود؟
برای ساخت دیکشنری از علامتهای
{ }
استفاده میکنیم.
person = {
"name": "Ali",
"age": 25,
"city": "Tehran"
}
در مثال بالا:
nameیک کلید است.Aliمقدار مربوط به آن کلید است.ageکلید دیگری است.25مقدار مربوط به آن است.
دسترسی به مقدار یک کلید
برای دسترسی به مقدار یک کلید، نام کلید را داخل براکت قرار میدهیم.
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 کار خواهیم کرد.