dictionary در پایتون
در پایتون، دیکشنری (dict
) یک ساختار دادهی بسیار قدرتمند و پرکاربرد است که دادهها را به صورت جفت کلید: مقدار (key-value) نگه میدارد. برخلاف لیستها که مقدارها به صورت ترتیبی ذخیره میشوند، دیکشنریها به هر مقدار یک کلید یکتا اختصاص میدهند.
تعریف دیکشنری با استفاده از آکولاد {}
انجام میشود و هر کلید با یک مقدار مرتبط است. مثال زیر یک دیکشنری از سن افراد مختلف را نشان میدهد:
ages = {"Dave": 24, "Mary": 42, "John": 58}
print(ages["Dave"])
print(ages["Mary"])
خروجی:
>>>
24
42
>>>
نکته: تلاش برای دسترسی به کلیدی که در دیکشنری وجود ندارد، منجر به بروز KeyError
خواهد شد:
primary = {
"red": [255, 0, 0],
"green": [0, 255, 0],
"blue": [0, 0, 255],
}
print(primary["red"])
print(primary["yellow"]) # کلید yellow وجود ندارد
خروجی:
>>>
[255, 0, 0]
KeyError: 'yellow'
>>>
برای جلوگیری از بروز خطا میتوانید از متد get
استفاده کنید که در صورت نبود کلید مقدار پیشفرض برمیگرداند:
print(primary.get("yellow", "Not Found"))
خروجی:
Not Found
دیکشنریها میتوانند هر نوع دادهای را بهعنوان مقدار ذخیره کنند، از جمله لیست، رشته، عدد، دیکشنری دیگر و غیره. با این حال، فقط اشیاء immutable (تغییرناپذیر) مانند رشتهها، اعداد، یا tuples (در صورتی که خود tuple شامل عنصر قابل تغییر نباشد) میتوانند به عنوان کلید استفاده شوند. اگر یک شیء قابل تغییر مثل لیست یا دیکشنری را به عنوان کلید استفاده کنید، خطای TypeError
دریافت میکنید:
bad_dict = {
[1, 2, 3]: "one two three",
}
خروجی:
TypeError: unhashable type: 'list'
نکات تکمیلی:
- از نسخه ۳.۷ پایتون به بعد، دیکشنریها ترتیب درج دادهها را حفظ میکنند.
- میتوانید با استفاده از متدهایی مانند
keys()
،values()
، وitems()
به کلیدها، مقادیر، و جفتهای کلید/مقدار دسترسی داشته باشید. - برای تعریف یک دیکشنری خالی از
{}
یاdict()
استفاده میشود.