Python Popis sort() s primjerima
Što je sort() metoda u Python?
Poredaj funkciju u Python pomaže sortirati popis uzlaznim ili silaznim redoslijedom. Može se koristiti za sortiranje numeričke liste, torki i liste nizova. Ne stvara zaseban popis, već modificira ili razvrstava izvornik.
Sintaksa metode sortiranja u Python
Funkcija sortiranja ima sljedeću sintaksu kako je navedena u nastavku: –
List.sort(key=…, reverse=…)
Funkcija razvrstavanja ima dva izborna parametra, naime kako je navedeno u nastavku: –
- Ključ:- Koristi se za sortiranje funkcije na temelju kriterija sortiranja.
- Reverse: – uzima vrijednost kao true ili false. Ako je istina, ova prilagođena funkcija sortira popis silaznim redoslijedom.
Sortiranje popisa uzlaznim redoslijedom pomoću metode Sortiraj u Python
In Python, funkcija sortiranja prema zadanim postavkama sortira bilo koji popis uzlaznim redoslijedom. Popis u uzlaznom redoslijedu ima najnižu vrijednost na lijevoj strani, a najvišu vrijednost dolazi na desnoj strani.
Primjer:
Python kodirati:
base_list=["Google","Reliance","Guru99","Content","Syntax"] base_list.sort() print("the base list after sorting is",base_list)
Izlaz:
the base list after sorting is ['Content', 'Google', 'Guru99', 'Reliance', 'Syntax']
Objašnjenje koda:
- Gornji popis je nasumično definiran popis nizova.
- Funkcija sortiranja Python pomaže u sortiranju slučajnog popisa uzlaznim redoslijedom, s najnižom duljinom riječi na lijevoj strani i najvećom duljinom riječi na desnoj strani.
Sortiranje popisa silaznim redoslijedom
Funkcija sortiranja također omogućuje sortiranje popisa silaznim redoslijedom. Može se definirati kao red gdje popis počinje s najvišom vrijednošću i završava s najnižom vrijednošću.
Obrnuti parametar funkcije sortiranja dodijeljen je kao istinit kako bi se popis poredao silaznim redoslijedom.
Pogledajmo donji primjer: –
Python kodirati:
base_list=[100,600,400,8000,50] base_list.sort() print("the base list after sorting is",base_list) # Reverse Order base_list.sort(reverse=True) print("the base list after REVERSE sorting is",base_list)
Izlaz:
the base list after sorting is [50, 100, 400, 600, 8000] the base list after REVERSE sorting is [8000, 600, 400, 100, 50]
Napomena: Osigurajte da dodjela riječi "True" obrnutom parametru počinje velikim slovom "T" kako biste izbjegli bilo kakve pogreške u vremenu izvođenja.
Sortiranje popisa torki pomoću metode Sortiraj u Python
Python Torte su zbirke nepromjenjivih elemenata koji slijede uređeni niz. PythonFunkcija sortiranja može se koristiti za sortiranje popisa torki pomoću prilagođene funkcije i lambda izraza.
Prilagođena funkcija može se stvoriti bez imena i predstaviti lambda izrazom. Slijedi sintaksa za Lambda izraz: –
Sintaksa:
Lambda arguments: expression
Gornja sintaksa je ekvivalentna donjem python kodu:
def name (arguments): return expression
Ovdje je primjer tuple i prilagođene funkcije za ilustraciju kako funkcija sortiranja s ključnim parametrima pomaže sortirati elemente u tuple:-
Python kodirati:
base_list = [('Alto', 2020, 500),('MSFT', 2022, 300),('Guru99', 2019, 1070)] def get_key(base_list): return base_list[2] base_list.sort(key=get_key,reverse=True) print("The change in base list is as follows",base_list)
Izlaz:
The change in the base list is as follows [('Guru99', 2019, 1070), ('Alto', 2020, 500), ('MSFT', 2022, 300)]
Objašnjenje koda:
- Obrnuti parametar je definiran kao istinit za sortiranje torke silaznim redoslijedom.
- Prilagođena funkcija uzima drugi element torke.
- Ovo se koristi kao ključ funkcije sortiranja.
Pogledajmo donji primjer koji koristi lambda izraz:
Python kodirati:
base_list = [('Alto', 2020, 500), ('MSFT', 2022, 300), ('Guru99', 2019, 1070)] base_list.sort(key=lambda base_list:base_list[2],reverse=True) print("The change in base list is as follows",base_list)
Izlaz:
The change in the base list is as follows [('Guru99', 2019, 1070), ('Alto', 2020, 500), ('MSFT', 2022, 300)]
Objašnjenje:
- Lambda izraz vam pomaže sortirati elemente torke od visokog prema niskom s ključem kao drugim elementom torke.
- Program će provjeriti najveću vrijednost drugog elementa torke.
Razvrstavanje stavki popisa pomoću Len kao ključnog parametra
Len je ugrađena funkcija koja određuje duljinu stavke. Određena duljina može se koristiti za indeksiranje u funkciji sortiranja. Da bismo to učinili, dodijelimo Lenu grupi Python ključni parametar funkcije sortiranja.
Sljedeće Python kod ilustrira kako koristiti funkciju Len s funkcijom sortiranja.
Python Kodirati:
base_list=["Alto", "Guru99", "Python", "Google", "Java"] base_list.sort(key=len) print("The sorted list based on length:",base_list)
Izlaz:
The sorted list based on length: ['Alto', 'Java', 'Guru99', 'Python', 'Google']
Objašnjenje koda:
- Duljina elementa postaje indeks za ključni parametar za sređivanje popisa uzlaznim redoslijedom.
- Funkcija Len procjenjuje duljinu svakog elementa prisutnog na osnovnoj listi.
- Zadržava najkraći element na lijevoj strani, a najveći element na desnoj strani.
- Ovdje riječi alto i java imaju duljinu 4, koje su poredane prve na popisu, a zatim slijedi Guru99, koja ima duljinu 6.
Ovaj primjer ilustrira koncept obrnutog parametra u funkciji sortiranja kao što je prikazano u nastavku: –
Python Kodirati:
base_list=["Alto", "Guru99", "Python", "Google", "Java"] base_list.sort(key=len,reverse=True) print("The sorted list based on length:",base_list)
Izlaz:
The sorted list based on length: ['Guru99', 'Python', 'Google', 'Alto', 'Java']
Razvrstavanje stavki popisa korištenjem korisnički definirane funkcije kao ključnog parametra
Također možete koristiti korisnički definiranu funkciju kao ključni parametar za sortiranje popisa. Evo primjera: –
Python Kodirati:
base_list = [{'Example':'Python','year':1991},{'Example':'Alto','year':2014},{'Example':'Guru99', 'year':1995}, {'Example':'Google','year':1985},{'Example':'Apple','year':2007},{'Example':'Emails','year':2010},] def get_year(element): return element['year'] base_list.sort(key=get_year) print("The base list after sorting using explicit criteria",base_list)
Izlaz:
The base list after sorting using explicit criteria [{'Example': 'Google', 'year': 1985}, {'Example': 'Python', 'year': 1991}, {'Example': 'Guru99', 'year': 1995}, {'Example': 'Apple', 'year': 2007}, {'Example': 'Emails', 'year': 2010}, {'Example': 'Alto', 'year': 2014}]
Objašnjenje koda:
- Korisnički definirana funkcija stvorena je za vraćanje godine
- Ključni parametar uzima korisnički definiranu funkciju kao kriterij.
- Funkcija sortiranja će rasporediti popis uzlaznim redoslijedom na temelju vrijednosti elementa "godina".
Razlika između metode sortiranja i sortirane metode u Python
Prije nego što rezimiramo razlike, shvatimo sintaksu metode Sorted.
Python Sintaksa:
sorted (list_name, reverse=…., key=..)
Objašnjenje koda:
- Funkcija sortiranja razvrstava popis prema uzlaznom ili silaznom redoslijedu.
- Funkcija prihvaća tri parametra, od kojih su dva parametra opcijskog tipa i jedan parametar zahtijevanog tipa.
- Parametar list_name potreban je kada koristite metodu Sorted.
- Metoda Sorted može uzeti bilo koju vrstu popisa koji se može ponavljati kao ulaz.
- Ključni parametri i obrnuti parametri izborni su parametri pod razvrstanom metodom u Python.
Ovdje je primjer korištenja funkcije sortiranja i sortiranja u Python kao što je prikazano u nastavku: –
Python kodirati:
#Use of the Sorted method Base_list=[11,10,9,8,7,6] print("the original list is",Base_list) New_list=sorted(Base_list) print("the New list using sorted method is",New_list) #Use of the Sort method Base_list=[11,10,9,8,7,6] print("the original list is",Base_list) New_list=Base_list.sort() print("the New list using sort method is",New_list)
Izlaz:
the original list is [11, 10, 9, 8, 7, 6] the new list using the sorted method is [6, 7, 8, 9, 10, 11] the original list is [11, 10, 9, 8, 7, 6] the new list using the sort method is None
Objašnjenje koda:
- Izvorni popis prosljeđuje se kao obavezni parametar za sortiranu funkciju.
- Metoda Sorted vraća novi popis osim izvornog popisa.
- Budući da se nikakvi dodatni parametri ne prosljeđuju sortiranoj metodi, novi je popis prema zadanim postavkama sortiran uzlaznim redoslijedom.
- Funkcija sortiranja ne stvara novi popis.
Slijede točke o ključnim sličnostima i razlikama: –
Poredana funkcija | Funkcija sortiranja |
---|---|
Poredana funkcija u Python je ugrađena funkcija koja uzima list_name kao obavezni parametar. | Funkcija sortiranja ne uzima izvorni popis kao parametar. |
Sortirana metoda vraća novi popis | Funkcija sortiranja ne vraća novi popis |
Funkcija Sorted trebala bi se koristiti za popise koji se mogu ponavljati | Funkcija sortiranja trebala bi se koristiti za popise koji se ne mogu ponoviti. |
Ne mijenja izvorni popis i omogućuje nam zadržavanje izvornih podataka. | Funkcija sortiranja mijenja izvornu funkciju i stoga zauzima manje memorijskog prostora |
Kada koristiti sortiranu metodu ili metodu sortiranja?
Uzmimo primjer koji zahtijeva sortiranje podataka o utrci. Program koristi startni broj i vrijeme potrebno u sekundama za završetak utrke.
Python kodirati:
from collections import namedtuple Base = namedtuple('Runner', 'bibnumber duration') blist = [] blist.append(Base('8567', 1500)) blist.append(Base('5234', 1420)) blist.append(Base('2344', 1600)) blist.append(Base('2342', 1490)) blist.append(Base('23444', 1620)) blist.append(Base('6674', 1906)) print("original list",blist) blist.sort(key=lambda x: getattr(x, 'duration')) top_five_result = blist[:5] print("Results using sort function",top_five_result) r_blist=sorted(blist,key=lambda x: getattr(x, 'duration')) top_five_result = r_blist[:5] print("Results using sorted function",top_five_result)
Izlaz:
original list [Runner(bibnumber='8567', duration=1500), Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='23444', duration=1620), Runner(bibnumber='6674', duration=1906)] Results using sort function [Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='8567', duration=1500), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='23444', duration=1620)] Results using sorted function [Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='8567', duration=1500), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='23444', duration=1620)]
Objašnjenje koda:
- Osnovni popis sortiran je pomoću funkcije sortiranja i funkcije sortiranja.
- Osnovni popis se gubi kada se primijeni funkcija sortiranja.
- Funkcija sortiranja ne bi se trebala primijeniti na izvorni skup podataka. Trebalo bi se koristiti kada postoji verzija kopije izvornog skupa podataka.
- Funkcija Sorted zadržava izvorni popis. Ne poništava ga.
- To nudi bolju sljedivost i učinkovito upravljanje podacima.
Zaključak
- Funkcija sortiranja pomaže u sortiranju numeričkog popisa i popisa nizova u pythonu.
- Također može pomoći u sortiranju torki.
- Reverse i key su izborni parametri funkcije.
- Ako postoji potreba za zasebnim popisom i istovremeno izvornim popisom, tada se mora koristiti sortirana funkcija, inače se mora koristiti funkcija sortiranja kako bi se postigla optimizirana iskorištenost memorije.