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