دیکشنری ها - کپی (Copy Dictionaries)
در پایتون، اگر یک دیکشنری (Dictionary)
را با عملگر =
به متغیر دیگر اختصاص دهید، تنها یک ارجاع (Reference) ساخته می شود. در این حالت تغییرات روی دیکشنری اصلی روی کپی نیز اعمال می شود. بنابراین برای داشتن یک کپی مستقل باید از روش های مناسب استفاده کنید.
کپی با متد copy()
یکی از روش های رایج برای کپی کردن دیکشنری، استفاده از متد copy()
است:
thisdict = {"brand": "Ford", "model": "Mustang", "year": 1964}
mydict = thisdict.copy()
print(mydict)
کپی با تابع dict()
روش دیگر استفاده از تابع داخلی dict()
است که یک دیکشنری جدید با محتوای مشابه می سازد:
thisdict = {"brand": "Ford", "model": "Mustang", "year": 1964}
mydict = dict(thisdict)
print(mydict)
نکته: هر دو روش بالا تنها یک کپی سطحی (Shallow Copy) ایجاد می کنند. اگر دیکشنری شامل دیکشنری های تو در تو باشد، باید از ماژول copy
و متد deepcopy()
استفاده کنید.
ادامه یادگیری
برای کار با دیکشنری های تو در تو به بخش دیکشنری های تو در تو مراجعه کنید. همچنین بخش حلقه روی دیکشنری ها می تواند درک بهتری از پیمایش ساختارها بدهد.