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.

