به آموزشگاه مجازی سینا خوش آمدید!

آموزش مرتب سازی لیست ها در پایتون

امتیاز
(0)

مرتب سازی لیست به صورت الفبایی-عددی(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

 

  • بازدید: 50

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال