Сортирање листе у Питхону омогућава вам слагање њених ставки у растућем или опадајућем редоследу.

Уместо писања дугих блокова кода за то, Питхон има уграђену методу која вам омогућава сортирање ставки на било којој листи или низу. У овом посту ћемо објаснити како то учинити.

Како сортирати листу у Питхону

Ставке на листи или низу можете да сортирате помоћу Питхона врста() метода.

Тхе врста() метода у Питхону прихвата два необавезна аргумента и синтакса изгледа овако:

лист.сорт (кључ = функција, обрнуто = Тачно / Нетачно)

Подразумевано, врста() метода распоређује ставке листе у растућем редоследу:

миЛист = ["Ц", "Д", "Б", "А", "Ф"]
миЛист.сорт ()
принт (миЛист)
Излаз: ['А', 'Б', 'Ц', 'Д', 'Ф']

Можете користити обрнуто аргумент за преглед листе у опадајућем редоследу:

миЛист = ["Ц", "Д", "Б", "А", "Ф"]
миЛист.сорт (реверсе = Труе)
принт (миЛист)
Излаз: ['Ф', 'Д', 'Ц', 'Б', 'А']

Ставке можете такође распоредити на листи према дужини сваког низа.

Да бисте то урадили, креирајте функцију и пренесите је у врста() метода користећи опционалну кључ расправа:

миЛист = ["МУО", "Питхон", "ЈаваСцрипт", "Сорт", "Сортлистс"]
деф сортЛенгтх (ставка):
поврат лен (ставка)
миЛист.сорт (реверсе = Труе, кеи = сортЛенгтх)
принт (миЛист)
Излаз: ['ЈаваСцрипт', 'Сортлистс', 'Питхон', 'Сорт', 'МУО']

Како сортирати листу речника у Питхону

Можете користити врста() метода за сортирање и листе речника.

Разврстајмо задатке у доњем речнику према њиховом времену:

миАрраи = [
{"Задатак": "Прање", "Време": 12.00},
{"Задатак": "Фудбал", "Време": 24.00},
{"Задатак": "Сортирај", "Време": 17.00},
{"Задатак": "Шифра", "Време": 15.00}
]
деф сортБиТиме (ставка):
врати ставку ["време"]
миАрраи.сорт (кеи = сортБиТиме)
испис (миАрраи)

Пошто су вредности времена цели бројеви, горњи блок кода преуређује низ на основу времена задатка.

Повезан: Како низови и листе раде у Питхону

Поред сортирања горњег низа по времену, можете га поредати и по абецедном реду помоћу задатака који су низови.

Да бисте сортирали по низу у примеру низа, потребно је само да промените време у углату заграду да Задатак:

миАрраи = [
{"Задатак": "Прање", "Време": 12.00},
{"Задатак": "Фудбал", "Време": 24.00},
{"Задатак": "Сортирај", "Време": 17.00},
{"Задатак": "Шифра", "Време": 15.00}
]
деф сортБиТиме (ставка):
врати ставку ["Задатак"]
миАрраи.сорт (кеи = сортБиТиме)
испис (миАрраи)

Задаће такође можете сортирати обрнутим редоследом подешавањем обрнуто тачно:

миАрраи.сорт (кеи = сортБиТиме, реверсе = Труе)

Можете такође користите ламбда функцију са врста() за чистији код:

миАрраи.сорт (кеи = ламбда гетТиме: гетТиме ["Тиме"])
испис (миАрраи)

Како сортирати угнежђену листу Питхон-а

Угњежђену листу корпица можете сортирати према индексу сваког угнежђеног елемента на тој листи.

На пример, доњи код користи трећу ставку у сваком набору за сортирање листе у растућем редоследу:

Алист = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
деф сортБиТхирдИндек (а):
врати а [2]
Алист.сорт (кеи = сортБиТхирдИндек)
принт (Алист)
Излаз: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

У горњем излазу, трећа ставка у свакој корпици повећава се од нуле до двадесет узастопно.

Имајте на уму да ово не ради са Питхон скупом јер га не можете индексирати. Поврх тога, свако гнездо на листи мора припадати истом типу података.

Повезан: Шта је скуп у Питхону и како га створити

Међутим, да бисте распоредили излаз у падајућем редоследу:

Алист.сорт (кеи = гетИндек, реверсе = Труе)
принт (Алист)
Излаз: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

Да видимо како ово изгледа са ламбда функција такође:

Алист = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
невЛист = сортирано (Алист, кључ = ламбда а: а [2])
принт (невЛист)
Излаз: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Како сортирати листу методом Сортед ()

Можете и да користите сортирано () метода.

Иако делује слично као врста() методом креира нову сортирану листу без модификовања оригинала. Његов распоред синтаксе је такође мало другачији.

Синтакса за сортирано () метода генерално изгледа овако:

сортирано (листа, кључ = функција, обрнуто = Тачно / Нетачно)

Да бисте сортирали листу помоћу сортирано () методу, треба да креирате нову променљиву за сортирану листу:

Алист = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
деф гетИндек (а):
врати а [2]
невЛист = сортирано (Алист, кеи = гетИндек)
принт (невЛист)
Излаз: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Тхе сортирано () метода такође прихвата а ламбда функција као његов кључ:

Алист = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
невЛист = сортирано (Алист, кључ = ламбда а: а [2])
принт (невЛист)
Излаз: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Где можете да примените сортирање листе?

За ефикасно програмирање неопходно је чврсто разумевање Питхон методе сортирања. Омогућава вам контролу над проласком листе или низа и увек је можете применити у стварним пројектима. На пример, сортирање Питхон листе може добро доћи приликом преуређивања података из АПИ-ја или базе података, тако да крајњем кориснику има више смисла.

Емаил
Како додати листу у Питхон-у

Рад са листама у Питхону? Ево шта треба да знате о коришћењу функције додавања Питхона када радите са листама.

Прочитајте следеће

Повезане теме
  • Програмирање
  • Питхон
  • Водичи за кодирање
О аутору
Идову Омисола (66 чланака објављено)

Идову је заљубљен у све паметне технологије и продуктивност. У слободно време игра се са кодирањем и пребацује се на шаховску таблу кад му је досадно, али такође воли да се повремено отргне од рутине. Његова страст да људима покаже пут око модерне технологије мотивише га да пише више.

Још од Идову Омисола

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, прегледе, бесплатне е-књиге и ексклузивне понуде!

Још један корак…!

Молимо потврдите своју адресу е-поште у е-поруци коју смо вам управо послали.

.