تبلیغات

دوره H پایتون – فصل 5: نوع‌های دیگر – درس 2: دیکشنری‌ها

دوره H پایتون

دوره H برنامه نویسی پایتون
فصل پنجم: نوع‌های دیگر
درس اول: دیکشنری‌ها در پایتون


دوره‌های H
دوره‌ی H، یک دوره‌ی فشرده می‌باشد که برای زبان‌های برنامه‌نویسی مختلفی در نظر گرفته شده است و در آن بصورت خلاصه و مفید، به بیان مهم‌ترین مباحث هر زبان برنامه‌نویسی پرداخته می‌شود تا بتوان در کوتاه‌ترین زمان ممکن، به ابتدایی‌ترین موارد موجود در یک زبان برنامه نویسی مسلط شد. برای مطالعه بیشتر و لیست تمامی دروس این دوره کلیک کنید...

دیکشنری‌ها، ساختار داده‌ای هستند که برای مپ کردن کلیدها و مقادیر دلخواه استفاده می‌شوند! در واقع دیکشنری‌ها همانند لیست‌ها هستند، با این تفاوت اصلی که می‌توان ایندکس آنها را به دلخواه تنظیم کرد! برای مثال، می‌توان ایندکسی را بصورت رشته‌های و برابر مقدار fullkade تنظیم کرده و سپس مقداری را درون آن قرار داد! در این حالت، به جای ایندکس به آن کلید گفته می‌‌شود.

تعریف یک دیکشنری

دیکشنری‌ها  به کمک دو کروشه { } باز و بسته، بصورت زیر تعریف می‌شوند:

خروجی:

در واقع در اینجا سه ایندکس داریم. ایندکس اول برابر Hadi بوده و مقدار آن 24 است. ایندکس دوم برابر Mahdi بوده و مقدار آن 42 است. ایندکس سوم برابر Reza بوده و مقدار آن 58 است! سپس در ادامه، توسط این ایندکس‌ها که همان کلیدها هستند، به مقادیر دلخواهی دسترسی پیدا کرده و آنها را چاپ می‌کنیم.

نکته
بنابراین هر المنت یا عنصری در دیکشنری، بصورت key:value تعریف می‌شود.
نکته
یک دیکشنری خالی نیز همانند لیست، بدون مقدار تعریف می‌شود که یعنی بایستی بصورت {} باشد.

خطای KeyError

اگر سعی کنید به کلیدی که وجود ندارد دسترسی داشته باشید، در این صورت خطای KeyError پرتاب خواهد شد. برای مثال:

و خروجی:

اول اینکه مقدار می‌تواند همانند لیست‌ها هرچیزی باشد؛ حتی یک لیست یا دیکشنری جدید! و دوم اینکه در کد بالا، سعی شده است تا مقدار کلیدِ yellow را بدست آورد و از آنجایی که چنین کلیدی در دیکشنری وجود ندارد، خطای KeyError رخ می‌دهد.

کلیدهای دیکشنری

فقط آّبجکت‌های immutable (تغییر ناپذیر/یعنی بعد از ایجاد نمی‌تواند تغییر کند) می‌توانند به عنوان کلید برای دیکشنری‌ها استفاده شوند؛ و بنابراین، تنها آبجکت‌های mutable بایستی برای کلیدها استفاده شوند. در غیر اینصورت، خطای TypeError رخ می‌دهد. در نتیجه از آنجاییه که لیست‌ها و دیکشنری‌ها mutable نیستند، بنابراین انتظار می‌رود خطا رخ دهد. به مثال زیر دقت کنید:

خروجی:

تخصیص کلید جدید

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

خورجی:

بررسی وجود داشتن کلید

جهت بررسی اینکه آیا کلیدی در یک دیکشنری تعریف شده است یا خیر، بایستی از in و not in استفاده کرد؛ که اولی وجود داشتن را بررسی کرده و دومی وجود نداشتن را. 🙂 بصورت زیر:

خروجی:

متد get دیکشنری‌ها

یکی از متدهای کاربردی دیکشنری‌ها، متد get است که چیزی شبیه به ایندکسینگ می‌باشد؛ با استفاده از این متد می‌توان مقدار کلیدی را بدست آورد اما تفاوت آن در استفاده از حالت عادی (ایندکسینگ)، این است که اگر کلیدی در دیکشنری وجود نداشته باشد، خطایی رخ نداده و آن می‌تواند مقدار دیگری که بصورت پیشفرض توسط ما تنظیم می‌شود یا مقدار None را برگرداند. بصورت زیر:

خروجی:

بنابراین می‌توان پارامتر اول متد get را برابر مقدار کلید و پارمامتر دوم آن را مقدار پیشفرض قرار داد. اگر پارامتر دوم نیز تنظیم نشود، مقدار پیشفرض None خواهد بود.

درس بعدیدرس قبلی
تبلیغات
0
کانال تلگرام فول کده
تبلیغات

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

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک گذاری اطلاعات در هر زمینه‌ای / برنامه‌نویس و دانشجوی ارشد رشته شبیه‌ساز هوشمند / همچنین در حال نوشتن یه رمان فانتزی (اگه خدا بخواد و تموم شه 😂)

پاسخ دهید

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

نظرات ثبت شده بدون دیدگاه