دیکشنری (dict)
دیکشنریها یکی از قدرتمندترین و پرکاربردترین ساختمانهای داده در پایتون هستن. دیکشنریها مجموعهای از جفتهای کلید-مقدار هستند که با آکولاد {} تعریف میشن.
ویژگیهای کلیدی
| ویژگی | توضیح |
|---|---|
| کلیدها منحصربهفرد | هر کلید فقط یک بار میتونه در دیکشنری وجود داشته باشه |
| غیرمرتب (تا نسخه 3.6) | از پایتون 3.7 به بعد ترتیب درج حفظ میشه |
| قابل تغییر (Mutable) | میتونید بعد از ایجاد، مقادیر رو تغییر بدید یا جفتهای جدید اضافه کنید |
| کلیدها قابل هش (Hashable) | کلیدها باید از نوع غیرقابل تغییر باشن (مثل str, int, tuple) |
ایجاد دیکشنری
دسترسی به مقادیر
اضافه کردن و بهروزرسانی
حذف کردن
کپی کردن دیکشنری
اگه فقط با = یه دیکشنری رو به متغیر دیگه نسبت بدید، هر دو متغیر به همون دیکشنری اشاره میکنن و تغییر تو یکی، اون یکی رو هم تغییر میده. برای کپی واقعی از copy() یا ماژول copy استفاده کنید.
import copy
original = {"name": "Mohsen", "scores": [10, 20]}
shallow1 = original.copy()
shallow2 = dict(original)
shallow1["name"] = "Reza"
print(original["name"])
shallow1["scores"].append(30)
print(original["scores"])
deep = copy.deepcopy(original)
deep["scores"].append(40)
print(original["scores"])Mohsen
[10, 20, 30]
[10, 20, 30]
نکته: وقتی مقادیر دیکشنری خودشون شامل ساختارهای قابل تغییر (مثل لیست یا دیکشنری دیگه) باشن، کپی سطحی کافی نیست و باید از
deepcopyاستفاده کنید.
ادغام دیکشنریها (Python 3.9+)
{'a': 1, 'b': 3, 'c': 4}
{'a': 1, 'b': 3, 'c': 4}
{'a': 1, 'b': 3, 'c': 4}