logo

Python sakārtots() funkcija

Python sorted() funkcija atgriež sakārtotu sarakstu. Tas nav definēts tikai sarakstam, un tas pieņem jebkuru iterējamu (saraksts, kortežs, virkne utt.).

Piemērs



Python3








print>(>sorted>([>4>,>1>,>3>,>2>]))>

>

>

Izvade

[1, 2, 3, 4]>

Python sorted() Funkcijas sintakse

sakārtots (atkārtojams, atslēga, reverss)

Parametri:

  • Atkārtojams: secība (saraksts, virkne, virkne) vai kolekcija (vārdnīca, kopa, iesaldēta kopa) vai jebkurš cits iterators, kas jākārto.
  • Atslēga (neobligāti): Funkcija, kas kalpotu kā atslēga vai salīdzināšanas pamats.
  • Reverss (neobligāti): Ja True, tad iterable tiktu sakārtots apgrieztā (dilstošā) secībā, pēc noklusējuma tas ir iestatīts kā False.

Atgriezties: Atgriež sarakstu ar elementiem sakārtotā secībā.

Kā Python izmantot funkciju sorted()?

Funkcijas sorted() izmantošana ir ļoti vienkārša. Tā ir Python iebūvēta funkcija, un to var izmantot ar jebkuru atkārtojamu funkciju. Izpratīsim to labāk ar piemēru:

Piemērs:

Python3




# creating a list> counting>=> [>4>,>1>,>5>,>2>,>3>]> #print sorted list> print>(>sorted>(counting))>

>

>

Izvade

[1, 2, 3, 4, 5]>

Vairāk sakārtotu() funkciju piemēri

Apskatīsim dažus funkcijas sorted() lietošanas gadījumus:

1. Python saraksta kārtošana, izmantojot funkciju sorted().

Šajā piemērā mēs esam lietojuši sakārtotu uz Python saraksts .

Python3




vakariņas pret vakariņām
x>=> [>2>,>8>,>1>,>4>,>6>,>3>,>7>]> > print>(>'Sorted List returned :'>,>sorted>(x))> > print>(>'Reverse sort :'>,>sorted>(x, reverse>=>True>))> > print>(>' Original list not modified :'>, x)>

>

>

Izvade

Sorted List returned : [1, 2, 3, 4, 6, 7, 8] Reverse sort : [8, 7, 6, 4, 3, 2, 1] Original list not modified : [2, 8, 1, 4, 6, 3, 7]>

2. Dažādu datu tipu kārtošana ar funkciju sorted().

Šajā piemērā mēs esam izmantojuši sorted() dažādiem datu tipiem, piemēram, sarakstam, korts , virkne, vārdnīca , komplekts un saldētais komplekts.

Python3




# List> x>=> [>'q'>,>'w'>,>'r'>,>'e'>,>'t'>,>'y'>]> print>(>sorted>(x))> > # Tuple> x>=> (>'q'>,>'w'>,>'e'>,>'r'>,>'t'>,>'y'>)> print>(>sorted>(x))> > # String-sorted based on ASCII translations> x>=> 'python'> print>(>sorted>(x))> > # Dictionary> x>=> {>'q'>:>1>,>'w'>:>2>,>'e'>:>3>,>'r'>:>4>,>'t'>:>5>,>'y'>:>6>}> print>(>sorted>(x))> > # Set> x>=> {>'q'>,>'w'>,>'e'>,>'r'>,>'t'>,>'y'>}> print>(>sorted>(x))> > # Frozen Set> x>=> frozenset>((>'q'>,>'w'>,>'e'>,>'r'>,>'t'>,>'y'>))> print>(>sorted>(x))>

>

0,0625 kā daļu
>

Izvade

['e', 'q', 'r', 't', 'w', 'y'] ['e', 'q', 'r', 't', 'w', 'y'] ['h', 'n', 'o', 'p', 't', 'y'] ['e', 'q', 'r', 't', 'w', 'y'] ['e', 'q', 'r', 't', 'w', 'y'] ['e', 'q', 'r', 't', 'w', 'y']>

3. Apgrieztā kārtošana, izmantojot Python sorted()

Virknes kārtošana leksikogrāfiski apgrieztā secībā pēc iestatījuma reverse=Tiesa funkcijā sorted().

Python3




# Python3 code to demonstrate> # Reverse Sort a String> # using join() + sorted() + reverse> > # initializing string> test_string>=> 'geekforgeeks'> > # printing original string> print>(>'The original string : '> +> str>(test_string))> > # using join() + sorted() + reverse> # Sorting a string> res>=> ''.join(>sorted>(test_string, reverse>=> True>))> > # print result> print>(>'String after reverse sorting : '> +> str>(res))>

>

>

Izvade

The original string : geekforgeeks String after reverse sorting : srokkggfeeee>

4. Python Sorted() ar lambda

Sorted() izmantošana Python lambda funkcijā.

Python3




import> functools> test_string>=> 'geekforgeeks'> > print>(>'The original string : '> +> str>(test_string))> # using sorted() + reduce() + lambda> res>=> functools.>reduce>(>lambda> x, y: x>+> y,> >sorted>(test_string,> >reverse>=>True>))> print>(>'String after reverse sorting : '> +> str>(res))>

>

>

Izvade

The original string : geekforgeeks String after reverse sorting : srokkggfeeee>

5. Sakārtots() Python ar len()

Šajā piemērā mēs kārtojam sarakstu pēc tā garuma. Vismazākā garuma virknei jābūt pirmajā vietā.

Python3




L>=> [>'cccc'>,>'b'>,>'dd'>,>'aaa'>]> print>(>'Normal sort :'>,>sorted>(L))> print>(>'Sort with len :'>,>sorted>(L, key>=>len>))>

>

>

Izvade

aktieris ranbir kapoor vecums
Normal sort : ['aaa', 'b', 'cccc', 'dd'] Sort with len : ['b', 'dd', 'aaa', 'cccc']>

Atslēga var izmantot arī lietotāja definētas funkcijas kā kārtošanas pamata vērtību.

Piemērs:

Python3




# Sort a list of integers based on> # their remainder on dividing from 7> def> func(x):> >return> x>%> 7> > L>=> [>15>,>3>,>11>,>7>]> > print>(>'Normal sort :'>,>sorted>(L))> print>(>'Sorted with key:'>,>sorted>(L, key>=>func))>

>

>

Izvade

Normal sort : [3, 7, 11, 15] Sorted with key: [7, 15, 3, 11]>

6. Saraksta kārtošana augošā secībā ar sorted()

Sarakstā my_list mums ir veselu skaitļu vērtību saraksts. Pēc tam mēs izmantojam šķirošanas funkciju, lai sakārtotu sarakstu augošā secībā. Kārtotā funkcija kārtojamo iterable izmanto kā savu pirmo argumentu un atgriež jaunu sarakstu, kurā ir kārtotie elementi.

Sadaļā my_string mums ir virkne. Pēc tam mēs izmantojam šķirošanas funkciju, lai kārtotu rakstzīmes virknē augošā secībā. Kārtotā funkcija apstrādā virkni kā rakstzīmju iterējamu un atgriež jaunu sarakstu, kurā ir sakārtotas rakstzīmes.

Sadaļā my_tuples mums ir virkņu saraksts, kurā ir veseli skaitļi un virknes. Mēs esam izmantojuši šķirošanas funkciju, lai sakārtotu sarakstu, pamatojoties uz katra kortedža otro elementu. Lai to panāktu, mēs esam nodevuši lambda funkciju kā galveno argumentu sakārtotajai funkcijai.

Python3




my_list>=> [>3>,>1>,>4>,>1>,>5>,>9>,>2>,>6>,>5>]> sorted_list>=> sorted>(my_list)> print>(sorted_list)> > my_string>=> 'hello, world!'> sorted_string>=> sorted>(my_string)> print>(sorted_string)> > my_tuples>=> [(>1>,>'one'>), (>3>,>'three'>), (>2>,>'two'>), (>4>,>'four'>)]> sorted_tuples>=> sorted>(my_tuples, key>=>lambda> x: x[>1>])> print>(sorted_tuples)>

"Kāda ir atšķirība starp lauvu un tīģeri"

>

>

Izvade

[1, 1, 2, 3, 4, 5, 5, 6, 9] [' ', '!', ',', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w'] [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]>

7. Vārdnīcu saraksta kārtošana pēc noteiktas atslēgas, izmantojot sorted()

Šajā piemērā mēs šķirojam vārdnīcu sarakstu ar noteiktu atslēgu.

Python3




students>=> [> >{>'name'>:>'John'>,>'age'>:>20>},> >{>'name'>:>'Alice'>,>'age'>:>18>},> >{>'name'>:>'Bob'>,>'age'>:>22>}> ]> sorted_students>=> sorted>(students,key>=>lambda> x: x[>'age'>])> print>(sorted_students)>

>

>

Izvade

[{'name': 'Alice', 'age': 18}, {'name': 'John', 'age': 20}, {'name': 'Bob', 'age': 22}]>

8. Pielāgotu objektu saraksta kārtošana

Šajā piemērā mēs izveidojam pielāgotu klasi ar nosaukumu Person ar diviem instanču mainīgajiem nosaukumu un vecumu, un mēs veidojam trīs personas klases objektus un ievietojam objektus sarakstos. Mēs izmantojam šķirošanas funkciju, kas kārto personas objektus.

Python3




class> Person:> >def> __init__(>self>, name, age):> >self>.name>=> name> >self>.age>=> age> > >def> __repr__(>self>):> >return> f>'Person(name='{self.name}', age={self.age})'> > > people>=> [> >Person(>'John'>,>25>),> >Person(>'Alice'>,>18>),> >Person(>'Bob'>,>30>)> ]> sorted_people>=> sorted>(people, key>=>lambda> x: x.age)> print>(sorted_people)>

>

>

Izvade

[Person(name='Alice', age=18), Person(name='John', age=25), Person(name='Bob', age=30)]>

Mēs esam apskatījuši Python funkcijas sorted() definīciju, sintaksi un piemērus. Cerams, ka tas ir atbildējis uz jūsu jautājumu par to, kā Python izmantot sakārtoto funkciju?.

Sorted() funkciju nedrīkst jaukt ar sort() list metodi, jo tās atšķiras.

Cerams, ka šis raksts jums palīdzēja izprast Python funkciju sorted().