آموزش مرتب سازی لیست ها در پایتون
مرتب سازی لیست به صورت الفبایی-عددی(Alphanumerically)
لیست ها یک متد به نام sort() دارند که به صورت الفبایی و عددی، لیست را به طور پیش فرض به صورت صعودی(ascending) مرتب سازی می کند.
مثال شماره 1
مرتب سازی لیست به ترتیب حروف الفبا:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)
نتیجه:
['banana', 'kiwi', 'mango', 'orange', 'pineapple']
امتحان کنیدمثال شماره 2
مرتب کردن لیست به صورت عددی:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
نتیجه:
[23, 50, 65, 82, 100]
امتحان کنیدمرتب سازی به صورت نزولی
برای مرتب کردن یک لیست به صورت نزولی، از از عبارت reverse = True بعنوان آرگومان متد sort استفاده کنید:
مثال شماره 3
مرتب سازی لیست به صورت نزولی:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
نتیجه:
['pineapple', 'orange', 'mango', 'kiwi', 'banana']
امتحان کنیدمثال شماره 4
مرتب سازی لیست به صورت نزولی:
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
نتیجه:
[100, 82, 65, 50, 23]
امتحان کنیدسفارشی سازی تابع Sort
ما همچنین می توانیم با استفاده از آرگومان key = function تابع خود را سفارشی سازی کنیم. ایت تابع یک عدد را برمی گرداند که از آن برای مرتب سازی لیست مورد نظر استفاده می شود(کمترین عدد در ابتدا قرار می گیرد):
مثال شماره 5
مرتب سازی لیست بسته به اینکه عدد مورد نظر چقدر به 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]
امتحان کنیدمرتب سازی بدون حساسیت به حروف بزرگ و کوچک
به طور پیش فرض، متد sort() به حروف بزرگ و کوچک حساس است؛ در نتیجه تمام حروف بزرگ، قبل از حروف کوچک مرتب سازی می شوند.
مثال شماره 6
مرتب سازی با حساسیت به حروف بزرگ و کوچک می تواند نتایج غیرمنتظره ای ایجاد کند:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
نتیجه:
['Kiwi', 'Orange', 'banana', 'cherry']
امتحان کنیدخوشبختانه ما می توانیم هنگام مرتب سازی یک لیست، از تابع های داخلی بعنوان تابع های کلیدی استفاده کنیم. بنابراین اگر می خواهید یک تابع برای مرتب سازی داشته باشید که به حروف بزرگ و کوچک حساس نباشد، می توانید از str.lower بعنوان یک تابع کلیدی استفاده کیند.
مثال شماره 7
انجام یک مرتب سازی برای یک لیست که به حروف بزرگ و کوچک حساس نباشد:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key = str.lower)
print(thislist)
نتیجه:
['banana', 'cherry', 'Kiwi', 'Orange']
امتحان کنیدمرتب سازی معکوس
چه می شود اگر بخواهیم صرنظر از الفبا، ترتیب یک لیست را معکوس کنیم؟ متد reverse() ترتیب فعلی عناصر را معکوس می کند:
مثال شماره 8
معکوس کردن ترتیب آیتم های لیست:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)
نتیجه:
['cherry', 'Kiwi', 'Orange', 'banana']
امتحان کنید
منبع: www.w3schools.com/python
- بازدید: 49
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.