آموزش رایگان صفر تا صد پایتون (Python) به زبان ساده
-
معرفی پایتون
-
شروع کار با پایتون
-
دستور زبان پایتون (Python Syntax)
-
توضیح کامنتها در پایتون
-
متغیرها در پایتون
-
نامهای متغیر در پایتون
-
معرفی متغیرها در پایتون و اختصاص چندین مقدار به آنها
-
معرفی متغیرها در خروجی با استفاده از پایتون
-
متغیرهای سراسری (Global Variables) در پایتون
-
انواع دادهها در پایتون
-
انواع اعداد در پایتون
-
تبدیل نوع داده در پایتون (Python Casting)
-
رشتهها در پایتون (Python Strings)
-
برش دادن رشتهها در پایتون (Python - Slicing Strings)
-
تغییر رشتهها در پایتون
-
ترکیب رشتهها در پایتون (String Concatenation)
-
آشنایی با فرمتبندی رشتهها در پایتون
-
کاراکترهای Escape در پایتون
-
مقدمهای بر بولیها (Booleans) در پایتون
-
عملگرها در پایتون
-
لیستها در پایتون
-
دسترسی به آیتمهای لیست در پایتون
-
تغییر مقدار آیتمهای لیست در پایتون
-
افزودن آیتم به لیست در پایتون
-
حذف آیتمها از لیست در پایتون
-
حلقه زدن در لیستها در پایتون
-
معرفی List Comprehension در پایتون
-
مرتبسازی لیستها در پایتون
-
کپی کردن لیستها در پایتون
-
اتصال (Join) لیستها در پایتون
-
آشنایی با Tuple در پایتون
-
دسترسی به آیتمهای یک Tuple در پایتون
-
بروزرسانی Tuple در پایتون
-
باز کردن (Unpacking) Tuple در پایتون
-
حلقهها در Tupleها در پایتون
-
آموزش ترکیب و تکرار تاپلها در پایتون (Join Tuples)
-
مجموعهها (Set) در پایتون
-
دسترسی به آیتمهای مجموعه (Set) در پایتون
-
افزودن آیتم به Set در پایتون
-
حذف آیتمها از Set در Python
-
حلقه در مجموعهها (Set) در پایتون
-
روشهای ترکیب مجموعهها در پایتون (Join Sets)
-
دیکشنریها در پایتون
-
دسترسی به آیتمهای دیکشنری در پایتون
-
تغییر مقادیر دیکشنری در پایتون
-
اضافه کردن آیتمها به دیکشنری در پایتون
-
حذف آیتمها از دیکشنری در پایتون
-
استفاده از حلقهها در دیکشنریها در پایتون
-
کپی کردن دیکشنری در پایتون
-
دیکشنریهای تو در تو در پایتون (Nested Dictionaries)
-
شرطها و دستور If در پایتون
-
حلقههای while در پایتون
-
حلقههای for در پایتون
-
توابع در پایتون
-
معرفی فانکشنهای لامبدا در پایتون
-
آرایهها (Arrays) در پایتون
-
کلاسها و اشیا در پایتون
-
وراثت (Inheritance) در پایتون
-
ایتریتور (یکی یکی پیش رفتن) در پایتون
-
چندریختی (Polymorphism) در پایتون
-
محدوده (Scope) در پایتون
-
ماژول در پایتون چیست؟
-
کار با تاریخ در پایتون
-
ریاضیات در پایتون
-
JSON در پایتون به زبان ساده
-
عبارات منظم (RegEx) در پایتون
-
Python PIP
-
معرفی Try-Except در پایتون
-
ورودی کاربر در پایتون
-
فرمتبندی رشتهها در پایتون
مرتبسازی لیستها در پایتون
در این قسمت یاد میگیریم که چطور میتوانیم لیستها را به روشهای مختلف در پایتون مرتب کنیم. در ابتدا، کار با سادهترین نوع مرتبسازی شروع میشود و سپس به گزینههای پیشرفتهتر میپردازیم. 🚀
مرتبسازی الفبایی لیستها 🔤
در پایتون میتوانیم با استفاده از متد sort()
لیستها را به ترتیب الفبایی مرتب کنیم. به صورت پیشفرض این مرتبسازی به صورت صعودی (از کم به زیاد) انجام میشود.
مثال 1: مرتبسازی الفبایی لیست میوهها
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)
خروجی این کد به ترتیب حروف الفبا خواهد بود:
['banana', 'kiwi', 'mango', 'orange', 'pineapple']
مرتبسازی عددی لیستها 🔢
برای مرتبسازی لیستهای عددی نیز میتوان از همین متد sort()
استفاده کرد. باز هم این مرتبسازی به صورت پیشفرض به ترتیب صعودی انجام میشود.
مثال 2: مرتبسازی لیست عددی
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
خروجی:
[23, 50, 65, 82, 100]
مرتبسازی به صورت نزولی ⬇️
اگر بخواهید لیست را به صورت نزولی (از بزرگ به کوچک) مرتب کنید، کافیست از گزینهی reverse=True
استفاده کنید.
مثال 3: مرتبسازی نزولی لیست میوهها
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse=True)
print(thislist)
خروجی:
['pineapple', 'orange', 'mango', 'kiwi', 'banana']
ایجاد تابع مرتبسازی سفارشی 🛠️
گاهی اوقات نیاز داریم که لیستها را با استفاده از معیار خاصی مرتب کنیم. میتوانیم از تابع key
استفاده کرده و یک تابع دلخواه تعریف کنیم.
مثال 4: مرتبسازی لیست بر اساس فاصله از 50
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key=myfunc)
print(thislist)
خروجی:
[50, 65, 23, 82, 100]
در اینجا لیست براساس نزدیکترین عدد به 50 مرتب شده است. 🤯
مرتبسازی بدون توجه به حروف بزرگ و کوچک 🆚
به طور پیشفرض، متد sort()
در پایتون حساس به حروف بزرگ و کوچک است. یعنی حروف بزرگ قبل از حروف کوچک مرتب میشوند. این ممکن است نتیجهی ناخواستهای به دنبال داشته باشد.
مثال 5: مرتبسازی حساس به حروف بزرگ و کوچک
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
خروجی:
['Orange', 'Kiwi', 'banana', 'cherry']
همانطور که میبینید، حروف بزرگ قبل از حروف کوچک آمدهاند. برای حل این مشکل، میتوانیم از تابع str.lower
به عنوان تابع key
استفاده کنیم تا مرتبسازی بدون توجه به حروف بزرگ و کوچک انجام شود.
مثال 6: مرتبسازی بدون توجه به حروف بزرگ و کوچک
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key=str.lower)
print(thislist)
خروجی:
['banana', 'cherry', 'Kiwi', 'Orange']
معکوس کردن ترتیب مرتبسازی 🔄
اگر بخواهید ترتیب یک لیست را به طور کامل معکوس کنید (مهم نیست که لیست به چه صورت مرتب شده باشد)، میتوانید از متد reverse()
استفاده کنید. این متد تنها ترتیب لیست را معکوس میکند، بدون اینکه آن را مرتب کند.
مثال 7: معکوس کردن ترتیب لیست میوهها
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)
خروجی:
['cherry', 'Kiwi', 'Orange', 'banana']
نکته کاربردی 🎯
حالا که چندین روش مرتبسازی را بررسی کردیم، از شما میخواهم که این موارد را امتحان کنید! به عنوان مثال:
- یک لیست از نامهای کشورها بسازید و آنها را به ترتیب الفبایی مرتب کنید.
- یک لیست از اعداد را از بزرگ به کوچک مرتب کنید.
- از تابع
key
برای مرتبسازی یک لیست از اعداد بر اساس فاصله از عدد 10 استفاده کنید.
خلاصه 📚
- برای مرتبسازی الفبایی یا عددی از متد
sort()
استفاده میکنیم. - برای مرتبسازی نزولی، از
reverse=True
استفاده میکنیم. - برای مرتبسازی به شیوهای خاص، میتوانیم از تابع
key
استفاده کنیم. - میتوانیم ترتیب لیستها را با متد
reverse()
معکوس کنیم.
به خاطر داشته باشید که مرتبسازی در پایتون ابزاری قدرتمند برای کار با دادهها است و به شما کمک میکند تا دادهها را به شکلی که نیاز دارید، مرتب کنید! 💡