logo

šķirot () Python

Kārtošanas funkciju var izmantot, lai kārtotu sarakstu gan augošā, gan dilstošā secībā. To var izmantot, lai kārtotu veselu skaitļu, peldošā komata skaitļu, virkņu un citu sarakstu sarakstus Python . Tās laika sarežģītība ir O (NlogN).

Python sort() sintakse

Python funkcijas sort() sintakse ir šāda.



Sintakse: saraksta_nosaukums.kārtot(atslēga=…, reverse=…)

Parametri:

Pēc noklusējuma Python sort() neprasa nekādus papildu parametrus un sakārto sarakstu augošā secībā. Tomēr tam ir divi izvēles parametri:



  • atslēga: funkcija, kas kalpo kā atslēga šķirošanas salīdzināšanai
  • otrādi: Ja ir taisnība, saraksts tiek sakārtots dilstošā secībā.

Atgriešanas vērtība: Sort() neko neatgriež, bet maina sākotnējo sarakstu atbilstoši nodotajam parametram.

Kas ir Python sort() funkcija?

Programmā Python,sort()>funkcija ir metode, kas ietilpst sarakstā . To izmanto, lai pēc noklusējuma kārtotu python vai saraksta elementus augošā secībā. Thesort()>metode modificē sākotnējo sarakstu vietā, kas nozīmē, ka tā pārkārto elementus tieši esošajā saraksta objektā, nevis veido jaunu sakārtotu sarakstu.

Kārtot() Python piemēros

Python sort() metodes pamata piemērs.



f-string python

Piemērs : Šajā piemērā zemāk esošais kods definē sarakstu ar nosaukumuunsorted_list>ar skaitliskiem elementiem. Thesort()>metode tiek piemērota sarakstam, kas pārkārto savus elementus augošā secībā. Pēc tam tiek izdrukāts sakārtotais saraksts, kurā tiek parādīts šķirošanas darbības rezultāts.

Python3




unsorted_list>=> [>2>,>4>,>5>,>32>,>6>,>255>,>5>,>42>]> unsorted_list.sort()> print>(>'Now it is sorted:'>, unsorted_list)>

>

>

Izvade:

Now it is sorted: [2, 4, 5, 5, 6, 32, 42, 255]>

Dažādi kārtošanas () veidi Python

Python,sort()>ir iebūvēta metode, ko izmanto, lai kārtotu elementus sarakstā augošā secībā. Tas maina sākotnējo sarakstu vietā, kas nozīmē, ka tas pārkārto elementus tieši sarakstā, neveidojot jaunu sarakstu. Thesort()>metode neatgriež nekādu vērtību; tas vienkārši sakārto sarakstu un atjaunina to.

  1. Šķirošana Saraksts augošā secībā
  2. Šķirošana Saraksts dilstošā secībā
  3. Kārtot ar pielāgota funkcija Izmantojot taustiņu
  4. Šķirošana Stīgu saraksts pēc garuma
  5. Kārtošanas saraksts Korpusi ar konkrētu elementu
  6. Kārtošanas saraksts Vārdnīcas ar īpašu atslēgu

Kārtot() programmā Python, izmantojot kārtošanas sarakstu augošā secībā

Metode 'sort()' programmā Python tiek izmantota, lai kārtotu elementu sarakstu augošā secībā. Tas maina sākotnējo sarakstu vietā, pārkārtojot tā elementus, lai tie būtu augošā skaitliskā vai leksikogrāfiskā secībā. Metode ir piemērojama sarakstiem, kuros ir skaitliskās vērtības, virknes vai abu kombinācija. Pēc noklusējuma Python funkcija sort() sakārto sarakstu augošā secībā, ja mēs tam nenodrošinām nekādus parametrus.

Piemērs : šajā piemērā tālāk redzamais kods parāda kārtošanas darbības dažāda veida sarakstos. Pirmkārt, tas sakārto veselu skaitļu ('skaitļu') sarakstu augošā secībā, izmantojot metodi 'kārtot()'. Pēc tam tas sakārto peldošā komata skaitļu sarakstu (decimālskaitlis) augošā secībā.

Python3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort()> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort()> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort()> print>(words)>

>

>

Izvade:

[1, 2, 3, 4] [1.68, 2.0, 2.01, 3.28, 3.67] ['For', 'Geeks', 'Geeks']>

Kārtot() programmā Python, izmantojot kārtošanas sarakstu dilstošā secībā

Lai kārtotu sarakstu dilstošā secībā, Python funkcijas sort() apgrieztajam parametram iestatiet vērtību True.

my_list.sort(reverse=True)>

Piemērs: I Šis parauga kods definē trīs dažādu veidu sarakstus (veselus skaitļus, peldošā komata skaitļus un virknes), sakārto tos dilstošā secībā, izmantojot metodi “kārtot” ar parametru “reverse=True”, un pēc tam izdrukā sakārtotos sarakstus.

Python3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort(reverse>=>True>)> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort(reverse>=>True>)> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort(reverse>=>True>)> print>(words)>

>

>

Izvade:

[4, 3, 2, 1] [3.67, 3.28, 2.01, 2.0, 1.68] ['Geeks', 'Geeks', 'For']>

Kārtot, izmantojot pielāgoto funkciju, izmantojot taustiņu

Šajā metodē ir aprakstīta šķirošanas darbība ar pielāgotu funkciju, izmantojot atslēgas parametru. Tas ļauj kārtot, pamatojoties uz konkrētu kritēriju, ko nosaka pielāgotā funkcija, nevis noklusējuma secību. Pielāgotā funkcija tiek lietota katram elementam, un saraksts tiek attiecīgi sakārtots.

Piemērs : šajā piemērā kods definē funkciju 'sortSecond', kas atgriež kortedža otro elementu. Pēc tam tiek izveidots virkņu saraksts “list1” un sakārtots to augošā secībā, pamatojoties uz otro elementu, izmantojot funkciju “sortSecond”.

Python3




def> sortSecond(val):> >return> val[>1>]> # list1 to demonstrate the use of sorting> # using second key> list1>=> [(>1>,>2>),(>3>,>3>),(>1>,>1>)]> # sorts the array in ascending according to> # second element> list1.sort(key>=>sortSecond)> print>(list1)> # sorts the array in descending according to> # second element> list1.sort(key>=>sortSecond,reverse>=>True>)> print>(list1)>

>

>

Izvade:

[(1, 1), (1, 2), (3, 3)] [(3, 3), (1, 2), (1, 1)]>

Virkņu saraksta kārtošana pēc garuma programmā Sort() Python

Izmantojot šo metodi, virkņu saraksts tiek sakārtots augošā secībā pēc to garuma, izmantojot funkciju 'sort()' ar 'key=len'. Tas nozīmē, ka virknes tiek sakārtotas no īsākā līdz garākajam garumam iegūtajā sakārtotajā sarakstā.

Piemērs : Šajā piemērā tālāk norādītais kods definē virkņu sarakstu,words>, un pēc tam sakārto to, pamatojoties uz katras virknes garumu, izmantojotlen()>darbojas kā šķirošanas atslēga. Visbeidzot, tas izdrukā sakārtoto sarakstu.

Python3




# Original list of strings> words>=> [>'apple'>,>'banana'>,>'kiwi'>,>'orange'>,>'grape'>]> # Sorting by length using the len() function as the key> words.sort(key>=>len>)> # Displaying the sorted list> print>(>'Sorted by Length:'>, words)>

>

>

Izvade:

Sorted by Length: ['kiwi', 'apple', 'grape', 'banana', 'orange']>

Kārtošanas saraksta kārtošana pēc noteikta elementa

Lai kārtotu virkņu sarakstu pēc noteikta elementa, izmantojiet funkciju 'sort()' ar parametru 'key'. Norādiet lambda funkciju kā atslēgu, mērķējot uz vajadzīgā elementa indeksu. Korpusi tiks sakārtoti, pamatojoties uz konkrētā elementa vērtībām.

Piemērs : Šajā metodē kods definē kortežu sarakstu ar nosaukumu “cilvēki”, kur katrs kortežs apzīmē personas vārdu un vecumu. Pēc tam tas sakārto sarakstu, pamatojoties uz katra kortedža otro elementu (vecumu), izmantojotsort>metode un lambda funkcija kā šķirošanas atslēga.

Python3




# Original list of tuples> people>=> [(>'Alice'>,>25>), (>'Bob'>,>30>), (>'Charlie'>,>22>), (>'David'>,>28>)]> # Sorting by the second element of each tuple (age)> people.sort(key>=>lambda> x: x[>1>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, people)>

>

>

Izvade:

Sorted by Age: [('Charlie', 22), ('Alice', 25), ('David', 28), ('Bob', 30)]>

Kārtot vārdnīcu sarakstu pēc noteiktas atslēgas

Šī metode ietver funkcijas 'sort()' izmantošanu Python vārdnīcu sarakstā. Norādot lambda funkciju kā atslēgas parametru, varat kārtot sarakstu, pamatojoties uz noteiktu taustiņu katrā vārdnīcā. Tas ļauj sakārtot vārdnīcu sarakstu augošā secībā atbilstoši vērtībām, kas saistītas ar izvēlēto atslēgu.

Piemērs : šajā piemērā kods definē izsaukto vārdnīcu sarakstustudents>, kur katra vārdnīca apzīmē skolēnu ar vārda un vecuma atslēgām. Pēc tam tas sakārto vārdnīcu sarakstu, pamatojoties uz vecuma atslēgu katrā vārdnīcā, izmantojotsort>metode un lambda funkcija kā atslēga.

Python3




# Original list of dictionaries> students>=> [> >{>'name'>:>'Alice'>,>'age'>:>25>},> >{>'name'>:>'Bob'>,>'age'>:>30>},> >{>'name'>:>'Charlie'>,>'age'>:>22>},> >{>'name'>:>'David'>,>'age'>:>28>},> ]> # Sorting by the 'age' key in each dictionary> students.sort(key>=>lambda> x: x[>'age'>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, students)>

>

>

Izvade:

Sorted by Age: [  {'name': 'Charlie', 'age': 22},  {'name': 'Alice', 'age': 25},  {'name': 'David', 'age': 28},  {'name': 'Bob', 'age': 30} ]>

Atšķirība starp Python funkciju sorted() un sort().

Ļaujiet mums redzēt atšķirību starp sakārtots() un sort() funkcija Python:

Python sakārtots()

Python sort()

Funkcija sorted() atgriež konkrētā iterējamā objekta sakārtotu sarakstu. Sort() metode sakārto sarakstu.
Izmantojot funkciju sorted(), mēs varam norādīt augošā vai dilstošā secībā Pēc noklusējuma tas sakārto sarakstu augošā secībā.
Sintakse : sakārtots (atkārtojams, atslēga=atslēga, reverse=reverse) Sintakse : list.sort(reverse=True|False, key=myFunc)
Tās atgriešanas veids ir sakārtots saraksts. Mēs to varam arī izmantot, lai sakārtotu sarakstu dilstošā secībā.

Var izmantot ar jebkuru iterējamu, pat ja elementu salīdzinājums nav definēts

Nepieciešams, lai elementi būtu salīdzināmi, izmantojot<>un>>>operatoriem

Saglabā vienādu elementu relatīvo secību, padarot to stabilu.

Var nebūt stabils; vienādu elementu secība var mainīties.

O(n log n) laika sarežģītība vairumam gadījumu.

O(n log n) laika sarežģītība vairumam gadījumu.

Tas var kārtot tikai sarakstu, kurā ir tikai viena veida vērtības. Tas sakārto sarakstu vietā.

Atbalsta aAtbalsta arī akey>parametrs pielāgotajiem kārtošanas kritērijiem.

Nepieciešama papildu atmiņa jaunajam sakārtotajam sarakstam.

Veic šķirošanu uz vietas, ietaupot atmiņu.

Lai uzzinātu vairāk, lūdzu, skatiet Python atšķirība starp sorted() un sort() funkcijām .