مثال
مرتب سازی لیست به صورت صعودی:
cars = ['Ford', 'BMW', 'Volvo']
cars.sort()
print(cars)
توضیحات
متد sort()
یک لیست را به صورت صعودی (پیشفرض) مرتب می کند.
سینتکس
list.sort(reverse=True|False, key=myFunc)
مقادیر پارامتر ها
پارامتر | توضیح |
---|---|
reverse | اختیاری. پیشفرض= False. اگر True باشد به صورت نزولی مرتب می شود |
key | اختیاری. تابعی دلخواه که نوع مرتب سازی را مشخص می کند |
مثال
مرتب سازی نزولی لیست:
cars = ['Ford', 'BMW', 'Volvo']
cars.sort(reverse=True)
print(cars)
مثال
مرتب سازی لیست بر اساس طول کلمات و به شکل صعودی:
# A function that returns the length of the value:
def myFunc(e):
return len(e)
cars = ['Ford', 'Mitsubishi', 'BMW', 'VW']
cars.sort(key=myFunc)
print(cars)
مثال
مرتب سازی لیستی از دیکشنری ها بر اساس مقدار کلید year در هر دیکشنری (صعودی):
# A function that returns the 'year' value:
def myFunc(e):
return e['year']
cars = [
{'car': 'Ford', 'year': 2005},
{'car': 'Mitsubishi', 'year': 2000},
{'car': 'BMW', 'year': 2019},
{'car': 'VW', 'year': 2011}
]
cars.sort(key=myFunc)
print(cars)
مثال
مرتب سازی لیست بر اساس طول کلمات و به شکل نزولی:
# A function that returns the length of the value:
def myFunc(e):
return len(e)
cars = ['Ford', 'Mitsubishi', 'BMW', 'VW']
cars.sort(reverse=True, key=myFunc)
print(cars)
عالی
سلام میشه لطفا
return e['year']
که نوشتید و توضیخ بدید؟چون متفاوته با بقیه مثال ها
سلام.
در صورتی که یک لیست از دیکشنری ها رو داشته باشیم و بخوایم لیست رو بر اساس مقدار یکی از کلید ها مرتب کنیم از این روش استفاده می کنیم.
در این مثال می خوایم لیست رو بر اساس کلید year یعنی بر اساس سال مرتب کنیم. در این صورت یک تابع به شکلی که در مثال گفته شد می نویسیم و کلید مورد نظر رو return می کنیم. و بعد این تابع رو به عنوان ورودی به آرگومان key از متد sort ارسال می کنیم. با اینکار لیست بر اساس مقدار year مرتب سازی میشه.