رفتن به محتوای اصلی
برنامه‌سازی پیشرفته با پایتون درس‌نامهٔ آزاد
مفهوم متوسط ۸ دقیقه

انتخاب کالکشن درست

راهنمای تصمیم کالکشن با هزینهٔ عملیات، deque و دام لیستِ مرتب‌نشده برای جست‌وجو.

نیازانتخابچرا
عضویت مکرر (in)setمیانگین O(1)
کلید → مقدارdictدرهم‌سازی؛ get با پیش‌فرض
دنباله با ترتیبlistایندکس و برش
صف دو سر (FIFO)collections.dequeافزودن/حذف O(1) از هر دو سر
رکوردِ ثابتtuple / دیتاکلاستغییرناپذیری = امنیت
from collections import deque
q = deque(["a", "b"])
q.appendleft("z")  # در list همین کار O(n) بود

دام امتحانی: in روی لیستِ بزرگ خطی است و برنامه را خفه می‌کند؛ همان داده در set پرواز می‌کند. و dict از ۳.۷ به بعد ترتیب درج را نگه می‌دارد — ولی «ترتیب» با «مرتب‌بودن» فرق دارد.

برداشت نادرست رایج

اشتباه رایج

list همه‌کاره است و برای همه‌چیز کافی است.

تصحیح

list برای دنباله عالی و برای عضویت مکرر فاجعه است. انتخاب ساختار، اولین تصمیمِ عملکردیِ هر برنامه است.

مطالب مرتبط

از همین بخش و با برچسب‌های مشترک

این مطلب را خواندید؟ آن را علامت بزنید تا پیشرفت شما روی همین دستگاه ذخیره شود.

وضعیت پیشرفت برای انتخاب کالکشن درست