دیکشنری‌های Python

دیکشنری (Dictionary)

دیکشنری یک مجموعه بی‌نظم، قابل تغییر و دارای نشانه است. در پایتون، دیکشنری‌ها با استفاده از برچسب‌های گیاهی نوشته می‌شوند و دارای کلید و مقادیر هستند.

مثال

تخریج و چاپ دیکشنری:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
print(thisdict)

نمونه اجرا

دسترسی به پروژه

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

مثال

مقدار کلید "model" را دریافت کنید:

x = thisdict["model"]

نمونه اجرا

یک نام دیگر نیز وجود دارد get() این روش به شما نتایج مشابهی را می‌دهد:

مثال

مقدار کلید "model" را دریافت کنید:

x = thisdict.get("model")

نمونه اجرا

تغییر مقادیر

شما می‌توانید با استفاده از نام کلید خاص مقادیر مشخصی را تغییر دهید:

مثال

"year" را به 2019 تغییر دهید:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["year"] = 2019

نمونه اجرا

جستجو در دیکشنری

شما می‌توانید از برای جستجو در دیکشنری.

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

مثال

کلیدهای موجود در دیکشنری را به صورت جداگانه چاپ کنید:

for x in thisdict:
  print(x)

نمونه اجرا

مثال

مقادیر موجود در دیکشنری را به صورت جداگانه چاپ کنید:

for x in thisdict:
  print(thisdict[x])

نمونه اجرا

مثال

شما همچنین می‌توانید از values() این تابع مقادیر دیکشنری را برمی‌گرداند:

for x in thisdict.values():
  print(x)

نمونه اجرا

مثال

با استفاده از تابع items() کلیدها و مقادیر را جستجو کنید:

for x, y in thisdict.items():
  print(x, y)

نمونه اجرا

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

برای تعیین اینکه کلید خاصی در دیکشنری موجود است یا خیر، از in کلید:

مثال

بررسی کنید که "model" در دیکشنری موجود است یا خیر:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
if "model" in thisdict:
  print("Yes, 'model' is one of the keys in the thisdict dictionary")

نمونه اجرا

طول دیکشنری

برای تعیین تعداد پروژه‌ها (کلید-مقدار) موجود در دیکشنری، از len() مетод.

مثال

تعداد پروژه‌های موجود در دیکشنری را چاپ کنید:

print(len(thisdict))

نمونه اجرا

افزودن پروژه

با استفاده از کلید جدید و تعیین مقادیر آن، می‌توان پروژه‌ای را به دیکشنری اضافه کرد:

مثال

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["color"] = "red"
print(thisdict)

نمونه اجرا

حذف پروژه

روش‌های مختلفی برای حذف پروژه‌ها از دیکشنری وجود دارد:

مثال

مетод pop() پروژه‌ای با نام کلید مشخص را حذف می‌کند:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.pop("model")
print(thisdict)

نمونه اجرا

مثال

popitem() مетод حذف آخرین پروژه‌ای که اضافه شده است (در نسخه‌های قبل از 3.7، پروژه‌ای تصادفی را حذف می‌کند):

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.popitem()}
print(thisdict)

نمونه اجرا

مثال

del کلید برای حذف یک عنصر با نام کلید مشخص شده:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
del thisdict["model"]
print(thisdict)

نمونه اجرا

مثال

del کلید می‌تواند دیکشنری را به طور کامل حذف کند:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
del thisdict
print(thisdict) #this 会导致错误،因为 "thisdict" 不再存在。

نمونه اجرا

مثال

clear() کلید برای خالی کردن دیکشنری:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.clear()
print(thisdict)

نمونه اجرا

دیگر به دیکشنری‌ها کپی کنید

نمی‌توانید دیکشنری را با تایپ مجدد dict2 = dict1 دیگر به دیکشنری‌ها کپی می‌شود، زیرا:dict2 فقط برای dict1 به صورت خودکار در dict1 تغییرات انجام شده در dict2 در اینجا انجام می‌شود.

روش‌هایی برای کپی کردن وجود دارد، یکی از آنها استفاده از روش داخلی دیکشنری است copy().

مثال

با استفاده از copy() توابع برای کپی کردن دیکشنری:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = thisdict.copy()
print(mydict)

نمونه اجرا

یک روش دیگر برای ایجاد کپی از دیکشنری استفاده از روش داخلی است dict().

مثال

با استفاده از dict() توابع برای ایجاد یک کپی از دیکشنری:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = dict(thisdict)
print(mydict)

نمونه اجرا

دیکشنری درون‌تنه

دیکشنری‌ها می‌توانند شامل بسیاری از دیکشنری‌ها باشند، این به عنوان دیکشنری‌های درون‌تنه شناخته می‌شود.

مثال

یک دیکشنری شامل سه دیکشنری دیگر ایجاد کنید:

myfamily = {
  "child1" : {
    "name" : "Phoebe Adele",
    "year" : 2002
  },
  "child2" : {
    "name" : "Jennifer Katharine",
    "year" : 1996
  },
  "child3" : {
    "name" : "Rory John",
    "year" : 1999
  }
}

نمونه اجرا

یا اگر می‌خواهید سه دیکشنری که قبلاً به عنوان دیکشنری وجود دارند را درون دیکشنری قرار دهید:

مثال

سه دیکشنری ایجاد کنید و سپس یک دیکشنری ایجاد کنید که شامل سه دیکشنری دیگر است:

child1 = {
  "name" : "Phoebe Adele",
  "year" : 2002
}
child2 = {
  "name" : "Jennifer Katharine",
  "year" : 1996
}
child3 = {
  "name" : "Rory John",
  "year" : 1999
}
myfamily = {
  "child1" : child1,
  "child2" : child2,
  "child3" : child3
}

نمونه اجرا

توابع سازنده dict() استفاده کرد

همچنین می‌توان از dict() توابع سازنده برای ایجاد یک دیکشنری جدید:

مثال

thisdict = dict(brand="Porsche", model="911", year=1963)
# لطفاً توجه داشته باشید که کلمه کلیدی یک رشته نماتیک نیست
# لطفاً توجه داشته باشید که از برابرگر به جای دو نقطه و یک خط استفاده شده است
print(thisdict)

نمونه اجرا

روش‌های دیکشنری

Python مجموعه‌ای از روش‌های داخلی را ارائه می‌دهد که می‌توانید بر روی دیکشنری‌ها استفاده کنید.

روش توضیح
clear() تمام عناصر دیکشنری را حذف کنید
copy() کپی دیکشنری را برگرداند
fromkeys() دیکشنری‌ای که دارای کلید و مقدار مشخصی است را برگرداند
get() مقدار مربوط به کلید مشخصی را برگرداند
items() لیستی از جفت‌های کلید-مقدار را برگرداند
keys() لیستی از کلیدهای دیکشنری را برگرداند
pop() عنصر دارای کلید مشخصی را حذف کنید
popitem() آخرین جفت کلید-مقدار را حذف کنید
setdefault() مقدار مربوط به کلید مشخصی را برگرداند. اگر کلید وجود ندارد، کلید با مقدار مشخصی اضافه می‌شود
update() با استفاده از کلید و مقادیر مشخصی دیکشنری را به‌روزرسانی کنید
values() لیست تمامی مقادیر موجود در دیکشنری را برگرداند