دیکشنری ها در پایتون

دیکشنری ها (Dictionary) یکی دیگر از انواع داده ها در پایتون هستند که به آرایه های انجمنی (Associative Array) در زبان هایی مانند جاوا و پی اچ پی شباهت دارند. در لیست ها و تاپل ها اندیس های عناصر، عددی هستند که اولین عنصر درون لیست و تاپل عدد صفر و دومین عنصر اندیس ۱ و الی آخر.

ایجاد دیکشنری

 در دیکشنری ها، اندیس ها می توانند غیر از اعداد صحیح باشند و مقادریر انتساب داده شده به هر یک از اندیس ها نیز می توانند عدد صحصیح، عدد اعشاری یا رشته باشند. عناصر دیکشنری میان آکولادهای باز و بسته {} قرار می گیرند. قطعه کد ۱ روش ایجاد دیشکنری های خالی را نشان می دهد.

قطعه کد ۱

مقدار دهی کردن دیکشنری ها

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

  • اعداد صحیح
  • اعداد ممیز شناور
  • رشته
  • لیست
  • دیکشنری
  • تاپل

دیکشنری sample_dict1 در قطعه کد ۲ دارای سه کلید (اندیس) از نوع رشته است. به اندیس ‘id’ مقدار عدد صحیح و به مابقی اندیس ها مقدار رشته انتساب داده شده است.

قطعه کد ۲

دسترسی به مقادیر هر اندیس

همانند لیست ها، در دیکشنری ها برای دسترسی به هر عنصر از کلید (اندیس) در براکت های باز و بسته استفاده می شود، با این تفاوت که کلید ها می توانند از نوع اعداد اعشاری یا رشته نیز باشند. با توجه به مثال قطعه کد ۲، می توانیم به صورت زیر به مقدار هر کلید دسترسی داشته باشیم.

قطعه کد ۳

در خط دوم قطعه کد ۳ توسط عملگر + دو رشته (مقادیر دو کلید ‘name’ و ‘family’) را به یکدیگر الحاق کردیم. مقدار کلید ‘id’ از نوع عدد صحیح است و اجرای قطعه کد چهار باعث بروز خطا می شود.

قطعه کد ۴

برای رفع این مشکل باید از تابع ()str برای تبدیل عدد صحیح به رشته مطابق قطعه کد ۵ استفاده کنیم.

قطعه کد ۵

ایجاد لیست از طریق مقدار دهی  و ایجاد کلیدها

با فرض اینکه یک دیکشنری خالی داریم می توانیم به صورت قطعه کد ۶ آنر مقدار دهی کنیم. در این حالت جفت های key : value ایجاد خواند شد.

قطعه کد ۶

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

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