آموزش پایتون

مدیریت فایل

مرتب سازی لیست

مرتب سازی لیست به صورت الفبایی

اشیاء لیست دارای یک متد sort() هستند که به طور پیش فرض لیست را به صورت الفبایی، صعودی مرتب می کند:

مثال

مرتب سازی لیست به صورت الفبایی:

				
					print("Hello")
print('Hello')
				
			

مثال

مرتب سازی لیست به صورت عددی:

				
					thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
				
			

مرتب سازی نزولی

برای مرتب‌سازی نزولی، از آرگومان کلمه کلیدی reverse = True استفاده کنید:

مثال

مرتب سازی لیست به صورت نزولی:

				
					thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
				
			

مثال

مرتب سازی لیست به صورت نزولی:

				
					thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
				
			

سفارشی کردن تابع مرتب سازی

شما همچنین می توانید تابع خود را با استفاده از کلمه کلیدی آرگومان key = function شخصی سازی کنید.

تابع عددی را برمی‌گرداند که برای مرتب‌سازی لیست استفاده می‌شود (ابتدا کمترین عدد):

مثال

مرتب سازی لیست بر اساس نزدیکی عدد به 50:

				
					def myfunc(n):
  return abs(n - 50)

thislist = [100, 50, 65, 82, 23]
thislist.sort(key = myfunc)
print(thislist)
				
			

حساس به حروف بزرگ و کوچک

به طور پیش‌فرض، متد sort() به حروف بزرگ حساس است و در نتیجه همه حروف بزرگ قبل از حروف کوچک مرتب می‌شوند:

مثال

مرتب سازی حساس به حروف می تواند نتیجه غیرمنتظره ای داشته باشد:

				
					thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
				
			

خوشبختانه ما می توانیم از توابع داخلی به عنوان توابع کلیدی هنگام مرتب سازی لیست استفاده کنیم.

بنابراین اگر تابع مرتب‌سازی غیر حساس به حروف بزرگ و کوچک می‌خواهید، از str.lower به عنوان تابع کلیدی استفاده کنید:

مثال

مرتب سازی بدون حساسیت به حروف بزرگ و کوچک:

				
					thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key = str.lower)
print(thislist)
				
			

مرتب سازی برعکس

اگر بخواهید بدون توجه به حروف الفبا، ترتیب فهرست را برعکس کنید، چه؟

متد reverse() ترتیب مرتب سازی فعلی عناصر را معکوس می کند.

مثال

معکوس کردن ترتیب آیتم های لیست:

				
					thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)
				
			

آموزش پایتون

مدیریت فایل