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:

Razvrstavanje stavki popisa pomoฤ‡u Len

  • 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.

Saลพmite ovu objavu uz: