شاید تاکنون با کسانی برخورد کرده باشید که کلکسیونی از اشیاء مختلف نظیر اسکانسهای قدیمی، تمبر، سکه، صفحههای گرامافون و مواردی از این دست را جمعآوری و نگهداری میکنند. در واقع، این کلکسیونها شامل اشیائی هستند که در یک گروه طبقهبندی میشوند و برای جمعآوری آنها در کنار هم نیاز به امکاناتی داریم که برای مثال میتوان آلبومهای نگهداری تمبرها را نام برد. بسیاری از زبانهای برنامهنویسی همچون پایتون نیز چنین قابلیتهایی را به منظور گردآوری اصطلاحاً Collection یا «مجموعهای از اشیاء متعلق به یک کلاس» را برای دولوپرها فراهم کردهاند.
در آموزشهای گذشته با مفهوم دنبالهها آشنا شدیم و آموختیم که دنبالهها رشتهای از مقادیر مختلف هستند که به صورت زنجیروار به یکدیگر متصل شدهاند که برای مثال، سادهترین نوع دنبالهها دادههایی از نوع استرینگ هستند به طوری که آبجکتهای ساختهشده از روی این کلاس شامل زنجیرهای از چندین و چند کاراکتر مختلف میباشند و در ادامه با دیتا تایپ لیست آشنا شدیم و گفتیم که این نوع دادهها زنجیرهای از انواع آبجکتهای دلخواه را شامل میشوند.
Collection نیز نوع دیگری از دنبالهها است که البته اندکی پیچیدهتر از دیتا تایپهای استرینگ و لیست میباشد به طوری که برخی از کالکشنهای پرکاربرد در زبان برنامهنویسی پایتون عبارتند از:
- Tuple: تاپل کالکشنی است که به منظور ساخت دنبالههای پیچیده و مشابه لیستها مورد استفاده قرار میگیرد که در آموزش گذشته با نحوۀ ایجاد یک آبجکت از نوع تاپل آشنا شدیم.
- Dictionary: اگر با فرهنگ لغت کار کرده باشید، احتمالاً میدانید که هر لغت به همراه معنای خاص خود در لغتنامه آورده میشود که با مراجعه به لغت مد نظر خود میتوانید به معنای معادلش دست پیدا کنید. در زبان پایتون نیز آبجکتهایی از جنس دیکشنری قابلیت ذخیرهسازی یکسری دیتا با فرم کلی key:value
را دارند به طوری که با انتساب یک مقدار به کلید متناظرش، به راحتی میتوان با جستجوی کلید مد نظر به مقدار معادل آن دست یافت.
- Stack: اِستک یا پشته ساختاری است که به منظور نگهداری موقت دادهها مورد استفاده قرار میگیرد و دادهها در داخل آن بر اساس قانون Last In First Out یا به اختصار LIFO سازماندهی میشوند که برای درک بهتر این نوع سازماندهی دیتا، میتوان محتوای داخلِ کابینت آشپزخانه را متصور شد. به طور مثال، معمولاً داخل کابینت دهها بشقاب روی یکدیگر قرار میگیرند به طوری که اگر بخواهیم به اولین بشقاب دست پیدا کنیم، باید از بالا آنها را یکبهیک برداریم و به همین ترتیب پیش برویم تا به اولین بشقاب برسیم. در ساختار اِستک نیز آخرین دادهای که ذخیره میشود، در ابتدا از آن خارج میگردد (در همین راستا، میتوانید به مقالهٔ درآمدی بر ساختمان داده در زبان PHP و آشنایی با مفاهیم Stack و Queue مراجعه نمایید.)