ماژول Collections که یکی از ماژولهای درونهستهی زبان برنامهنویسی پایتون است، انواع مختلف و کارآمدی از کانتینرها را به ما ارائه میدهد. کانتینر یک شیء است که برای ذخیرهسازی اشیاء مختلف استفاده میشود و راهی برای دسترسی به اشیاء موجود و پیمایش روی آنها فراهم میکند. بهطور کلی در برنامهها ما از List ،Tuple ،Dictionary و Set که نوعدادهها و کانتینرهای پیشفرض پایتون هستند استفاده میکنیم. اما وقتی که با دادههای پیچیدهتر و ساختیافته سروکار داریم، نیاز به کانتینرهای هوشمندتری نیز داریم.
این ماژول به صورت built-in در پایتون وجود داره و نیاز به نصب جدا گونه نیست و فقط کافیه که در مواقع نیاز صداش کنید
from collection import Counter
Counter :
کار این ماژول اینه که به ما میگه از یک آیتم در یک کانتینر که یادتون باشه همون set, list, tuple, dictionary های ما هستن، چندبار تکرار شده؟
مثلا چندبار عدد 2 در داخل لیست من تکرار شده یا چندبار اسم zahra تو تاپل من تکرار شده.
مثال زیر رو دقت کنید :
خروجی :
defaultdict :
کار این ماژول اینه که ما وقتی یک آیتمی رو از یک دیکشنری درخواست میکنم و اون آیتم موجود نبود بیاد کاری بکنه که ما بتونیم یک مقدار دیفالت در صورت پیدا نشدن هرکدام از آیتم ها تایین بکنیم.
در پارامتر اول این ماژول باید یک فانکشنی رو پاس بدیم که این فانکشن مقدار دیفالت مارو ریترن میکنه. برای این منظوره استفاده از لامبدا بهترین گزینه هستش.
به مثال زیر دقت بکنید :
OrderedDict :
تصور کنید که دو دیکشنری دقیقا با مقادیر یکسان دارید، اگر در پایتون با استفاده از عملگر مقایسه این دو دیکشنری را مقایسه بکنید، پایتون میگوید که این دو مقادیر یکسانی دارند و دقیقا شبیه هم هستند. حال شما ترتیب این را بهم بزنید، همان مقادیر ولی ترتیب آنها عوض شده. اگر از پایتون بپرسید که این دو دیکشنری یکی هستند یا خیر، باز جواب پایتون مثبت است. به مثال زیر دقت کنید :
همانطور که دیدید برای پایتون فرقی نمیکند که ترتیب دیکشنری ما چجوری باشد. اما گاهی اوقات برای ما مهم است که ترتیب دو دیکشنری ما هم یکسان باشد هم مقادیر یکی.
اینجا است که ماژول OrderedDict به کمک ما می آید.
به شکل زیر میتوانید از این ماژول استفاده کنید :
این مقاله صرفا معرفی و گذری کوتاه بر این ماژول پرکابرد بود.
برای اشنایی و یادگیری بیشتر این ماژول حتما داکیومنت پایتون مطالعه شود.
ممنون که تا اینجا این مقاله را خواندید.
دوستدار شما علیرضا فاضلی.
on ماژول Collections در پایتون