defaultDict و orderedDict در پایتون :
defaultdict و orderedDict دو نوع دیکشنری هستند که در زبان برنامه نویسی پایتون وجود دارند. این دو نوع دیکشنری تفاوتهایی با دیکشنری استاندارد پایتون دارند و قابلیتهای جدیدی را به برنامه نویسان ارائه میدهند.
دیکشنری در پایتون یک ساختار داده است که دادهها را به صورت جفتهای کلید و مقدار ذخیره میکند. دیکشنری استاندارد پایتون تنها قابلیتهای پایهای مانند اضافه کردن، حذف کردن و دسترسی به مقادیر را دارد. اما با استفاده از defaultdict و orderedDict میتوان قابلیتهای بیشتری را به دیکشنری اضافه کرد.
defaultdict یک کلاس است که در ماژول collections پیادهسازی شده است. این کلاس یک نوع خاص از دیکشنری است که به صورت خودکار مقدار پیشفرضی برای کلیدهایی که وجود ندارند تعیین میکند. به عبارت دیگر، اگر یک کلید وجود نداشته باشد و با آن عملیاتی انجام داده شود، defaultdict به جای بازگرداندن خطا، یک مقدار پیشفرض برمیگرداند. مقدار پیشفرض میتواند هر نوع دادهای باشد و توسط تابعی به نام factory تعیین میشود.
از defaultdict میتوان در مواقعی استفاده کرد که ممکن است با کلیدهایی که قبلاً مشخص نشدهاند کار کنیم. به عنوان مثال، اگر بخواهیم تعداد تکرار هر کلمه در یک متن را بشماریم، میتوانیم از defaultdict استفاده کنیم تا هر کلمه که تاکنون به آن برخورد نکردهایم را به عنوان کلید و تعداد تکرار آن را به عنوان مقدار پیشفرض قرار دهیم. سپس هر بار که با یک کلمه برخورد میکنیم، مقدار آن را یک واحد افزایش میدهیم.
orderedDict نیز یک کلاس است که در ماژول collections پیادهسازی شده است. این کلاس یک نوع خاص از دیکشنری است که ترتیب ورودیها را حفظ میکند. برای دیکشنری استاندارد پایتون، ترتیب ورودیها حفظ نمیشود و ترتیب خروجیها بر اساس ترتیب کلیدها تعیین میشود. اما با استفاده از orderedDict میتوان ترتیب ورودیها را نیز حفظ کرد.
از orderedDict در مواقعی استفاده میشود که نیاز به دسترسی به مقادیر دیکشنری به ترتیب ورودیها وجود دارد. به عنوان مثال، اگر بخواهیم دادهها را به ترتیب زمانی که وارد شدهاند نمایش دهیم، میتوانیم از orderedDict استفاده کنیم.