آموزش دیکشنری در پایتون و بررسی متدهای مختلف آن

مقدمه

در این جلسه قصد داریم در مورد دیکشنری ها در پایتون با یکدگیر صحبت کنیم. دیکشنری ها نوع داده ی جدیدی هستند که بسیار میتوانند کمک کننده باشند. پیشنهاد می شود برای درک بهتر این جلسه پیشنهاد می شود حتما جلسات قبل این دوره را از لینک زیر مطالعه کنید‌:

دیکشنری چیست ؟‌

دیکشنری در واقع یک مجموعه مرتب نشده از المان ها و آیتم ها است. برای انواع داده های دیگری که قبلا معرفی کرده ایم هر المان صرفا یک عدد یا رشته یا … می باشد در حالی که در یک دیکشنری یک المان از دو عنصر تشکیل شده است.

چگونه میتوانیم یک دیکشنری را ایجاد کنیم ‌؟

برای ایچاد یک دیکشنری کافی است المان های مورد نظر خود را درون یک براکت منحنی شکل (به انگلیسی curly braces) که با علامت { } در کیبورد مشخص شده است قرار دهیم و آنها را به کمک کام از یکدیگر جدا کنیم.

هر المان یک دیکشنری از دو بخش تشکیل شده است. یک بخش کلید (key) است و بخش دیگر آن مقدار متناظر با آن کلید (value) است. در واقع هر المان در یک دیکشنری به صورت {key:vlaue} می باشد.

در یک دیکشنری value میتواند هر نوع داده ای باشد در حالی که key ها باید حتما داده های غیر قابل تغییر و یکتا باشند. اجازه دهید با هم چند مثال از ایجاد یک دیکشنری ببینیم:

در مثال های بالا سه دیکشنری اول به صورت معمول ایجاد شده است. اما در دو مثال آخر از dict برای ایجاد یک دیکشنری استفاده شده است. در واقع در مثال آخر مشاهده میکنید که میتوانیم از مجموعه ای از المان های جفت هم یک دیکشنری را بسازیم.

چگونه میتوان به المان های یک دیکشنری دسترسی داشت  ؟

برای دسترسی به المان های انواع داده های دیگر ما از اندیس ها استفاده میکنیم. در دیکشنری ها برای این کار ما از key ها برای این کار استفاده میکنیم. key ها را میتوان درون براکت قرار داد و value متناسب با آن را مشاهده کرد و یا از متد get استفاده کنیم. مثال های زیر را ببینید:‌

خروجی کد بالا به صورت زیر می باشد:

یکی از مزایایی که متد get نسبت به براکت دارد این است که در صورت موجود نبودن یک کلید None برگردانده می شود در حالی که به کمک براکت با Error مواجه می شویم.

چگونه میتوان المان های یک دیکشنری را تغییر داد و یا به آن المانی را اضافه کرد؟‌

دیکشنری را میتوان تغییر داد. با استفاده از عملگر مساوی میتوانیم value ها را تغییر دهیم یا المان جدیدی را به دیکشنری خود اضافه کنیم.

در صورتی که key در دیکشنری وجود داشته باشد مقدار value متناظر با آن key آپدیت می شود و در صورتی که آن key در دیکشنری وجود نداشته باشد یک المان جدید به دیکشنری اضافه می شود و key و value آن متناظر با مقادیر قرار داده شده می شود.

مثال ها زیر به درک بهتر این مفاهیم کمک می کند:

 

نتیجه اجرای کد بالا به صورت زیر خواهد بود‌:

 

 چگونه میتوانیم یک المان را از یک دیکشنری حذف کنیم ؟

به کمک متد pop میتوانیم یک المان را از یک دیکشنری حذف کنیم. این متد المان مربوطه را حذف میکند و value متناسب با key قرار داده شده را برمیگرداند.

از متد popitem نیز میتوان برای حذف یک المان دلخواه استفاده کرد. همه المان های یک دیکشنری نیز با متد clear حذف می شوند.

متد دیگری نیز که برای حذف استفاده می شود متد del می باشد که به کمک آن میتوان یک المان یا کل دیکشنری را به صورت کامل پاک کرد. مثال های زیر را ببینید:

وقتی که مثال بالا را اجرا کنیم نتیجه به صورت زیر خواهد بود :

 

متدهای دیکشنری:

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

متدهای مختلف دیکشنری در پایتون

تست اعضای یک دیکشنری:‌

با استفاده از کلمه کلیدی In میتوانیم چک کنیم که آیا یک کلید در یک دیکشنری قرار دارد یا خیر. توجه داشته باشید که بودن در یک دیکشنری فقط برای کلیدها قابل کنترل می باشد و برای Value ها نمیتوانیم چنین کنترلی را داشته باشیم.

برای روشن شدن بحث مثال زیر را ببینید‌:

 حلقه for و دیکشنری‌:

به کمک یک حلقه for میتوانیم بر روی کلیدهای یک دیکشنری حرکت کنیم و Value ها آن ها را در خروجی چاپ کنیم. مثال زیر را ببینید:

 استفاده از توابع داخلی پایتون در دیکشنری ها ‌:

علاوه بر متدهای گفته شده در بالا خود پایتون دارای یک سری توابع است که میتوانیم از این توابع بر روی دیکشنری ها استفاده کنیم. توابع any و all و len و cmp و sorted از این نمونه هستند. در جدول زیر کارکرد هر یک از این توابع آورده شده است.

تابع های مختلف دیکشنری در پایتون

در پایان این جلسه تمارینی آورده شده است که به شدت تاکید می شود برای درک بهتر این جلسه حتما انجام شود. لطفا پس از انجام این تمارین آنها را به صورت کامنت قرار دهید تا مورد استفاده دوستان دیگر نیز قرار گیرد.

تمارین:

 تمرین ۱ : تابعی بنویسید که سه دیکشنری زیر را در ورودی گرفته و آن ها را به یک دیکشنری تبدیل کند و در خروجی نمایش دهد.

 تمرین ۲ : برنامه ای بنویسید که چک کند آیا یک کلید در یک دیکشنری وجود دارد یا خیر. در صورت وجود داشتن عبارت TRUE و در صورت موجود نبودن عبارت FALSE در خروجی نشان داده شود.

 تمرین ۳ : تابعی بنویسید که یک دیکشنری را در ورودی خود دریافت کند و ۳ مقدار از Value ها که بیشتر مقدار را دارند در خروجی چاپ کند.

نکته :  پس از حل سوالات ، لطفا  کد های خود را در قسمت کامنت ها قرار دهید تا در صورتی که دوستان دیگر دچار مشکل شدند ، از کدهای شما کمک بگیرند. 

مثل همیشه میتوانید ما را در تلگرام و یا اینستاگرام دنبال کنید:‌

0 پاسخ

دیدگاه خود را ثبت کنید

اگر سوالی برایتان پیش آمده ، میتوانید در زیر آن را مطرح کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *