حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش الگوریتم و حل مسئله با پایتون؛ تمرین عملی

مرتب‌سازی صعودی و نزولی پایتون با sorted

مرتب‌سازی سفارشی پایتون؛ key و ترتیب پایدار · 0٪

✍️ مرتب‌سازی فقط برای نمایش قشنگ داده نیست؛ گاهی شرط لازم الگوریتم بعدی است. sorted اعضا را مرتب می‌کند و یک فهرست تازه می‌سازد. ترتیب پیش‌فرض صعودی است و با reverse=True نزولی می‌شود. خود فهرست اولیه با این تابع تغییر نمی‌کند؛ این رفتار را با متد sort که همان فهرست را جابه‌جا می‌کند اشتباه نگیر.

scores = [12, 5, 20, 12]
ascending = sorted(scores)
descending = sorted(scores, reverse=True)
print(ascending)   # [5, 12, 12, 20]
print(descending)  # [20, 12, 12, 5]
print(scores)     # [12, 5, 20, 12]

تکرارها حذف نمی‌شوند؛ مرتب کردن با یکتا کردن فرق دارد. برای فهرست خالی، خروجی تازه هم خالی است. در این بخش اول جهت ترتیب را یاد می‌گیریم و بعد با key معیار جداگانه می‌سازیم، مثلاً طول نام یا امتیاز یک رکورد.

خطای رایج، نوشتن result = scores.sort() است؛ مقدار برگشتی این متد None است و هم‌زمان scores را تغییر می‌دهد. پیش از انتخاب ابزار، قرارداد تغییر دادن یا ندادن ورودی را بخوان. در پروژه رتبه‌بندی آخر دوره، حفظ ترتیب اولیه داده هنگام بررسی نتیجه مهم خواهد بود.

فعالیت شما

تفاوت sorted و list.sort را از مثال توضیح بده؛ صعودی پیش‌فرض و نزولی با reverse=True است، تکرارها باقی می‌مانند و sorted ورودی را تغییر نمی‌دهد. این گام خواندنی است.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

برای انجام فعالیت وارد شوید

برای انجام فعالیت‌ها ابتدا این دوره‌های پیش‌نیاز را تکمیل کنید: