logo

Python sorted() Funkcija

Python sorted() funkcija grąžina surūšiuotą sąrašą. Jis ne tik apibrėžtas sąrašui, bet ir priima bet kokį kartotinį (sąrašą, eilutę, eilutę ir kt.).

Pavyzdys



Python3








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

>

>

Išvestis

[1, 2, 3, 4]>

Python sorted() Funkcijos sintaksė

surūšiuotas (kartojantis, raktas, atvirkštinis)

Parametrai:

  • Pakartojama: seka (sąrašas, eilutė, eilutė) arba rinkinys (žodynas, rinkinys, fiksuotas rinkinys) arba bet koks kitas iteratorius, kurį reikia rūšiuoti.
  • Raktas (neprivaloma): Funkcija, kuri būtų raktas arba lyginimo pagrindas.
  • Atvirkščiai (neprivaloma): Jei „True“, iterable būtų rūšiuojama atvirkštine (mažėjančia) tvarka, pagal numatytuosius nustatymus jis nustatytas kaip „False“.

Grąžinti: Grąžina sąrašą su elementais surūšiuota tvarka.

Kaip Python naudoti funkciją sorted()?

Naudoti funkciją sorted() labai paprasta. Tai įmontuota „Python“ funkcija ir gali būti naudojama su bet kokia iteracija. Supraskime tai geriau pateikdami pavyzdį:

Pavyzdys:

Python3




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

>

>

Išvestis

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

Daugiau rūšiuotų() funkcijų pavyzdžiai

Pažvelkime į kai kuriuos funkcijos sorted() naudojimo atvejus:

1. Python sąrašo rūšiavimas naudojant sorted() funkciją

Šiame pavyzdyje mes pritaikėme surūšiuotą pagal Python sąrašas .

Python3




ctc pilna forma
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)>

eilutę į int Java
>

>

Išvestis

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. Įvairių duomenų tipų rūšiavimas su sorted() funkcija

Šiame pavyzdyje mes naudojome sorted() skirtinguose duomenų tipuose, pvz., sąraše, kortele , eilutė, žodynas , rinkinys ir užšaldytas rinkinys.

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))>

>

>

Išvestis

['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. Atvirkštinis rūšiavimas naudojant Python sorted()

Eilutės rūšiavimas leksikografiškai atvirkštine tvarka pagal nustatymą reverse=Tiesa funkcijoje 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))>

>

>

Išvestis

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

4. Python Sorted() su lambda

Rūšiuotų() naudojimas Python lambda funkcijoje.

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))>

>

eilutė c
>

Išvestis

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

5. Rūšiuota() Python su len()

Šiame pavyzdyje mes rūšiuojame sąrašą pagal jo ilgį. Pirmiausia turėtų būti mažiausio ilgio eilutė.

Python3




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

>

>

Išvestis

Normal sort : ['aaa', 'b', 'cccc', 'dd'] Sort with len : ['b', 'dd', 'aaa', 'cccc']>

Raktas taip pat gali naudoti vartotojo nustatytas funkcijas kaip rūšiavimo pagrindo vertę.

Pavyzdys:

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))>

>

>

Išvestis

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

6. Sąrašo rūšiavimas didėjančia tvarka su sorted()

Mano_sąraše turime sveikųjų skaičių reikšmių sąrašą. Tada naudojame rūšiavimo funkciją, norėdami surūšiuoti sąrašą didėjančia tvarka. Rūšiuota funkcija rūšiuojamą iteraciją laiko pirmuoju argumentu ir pateikia naują sąrašą, kuriame yra surūšiuoti elementai.

My_string turime eilutę. Tada naudojame rūšiavimo funkciją, norėdami surūšiuoti eilutės simbolius didėjančia tvarka. Rūšiavimo funkcija traktuoja eilutę kaip simbolių kartojimą ir pateikia naują sąrašą, kuriame yra surūšiuoti simboliai.

Mano_tuples turime eilučių sąrašą, kuriame yra sveikieji skaičiai ir eilutės. Naudojome rūšiavimo funkciją, norėdami surūšiuoti sąrašą pagal antrąjį kiekvienos eilutės elementą. Norėdami tai pasiekti, mes perdavėme lambda funkciją kaip pagrindinį argumentą surūšiuotai 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)>

java numeris į eilutę

>

>

Išvestis

[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. Žodynų sąrašo rūšiavimas pagal konkretų raktą naudojant sorted()

Šiame pavyzdyje mes rūšiuojame žodynų sąrašą konkrečiu raktu.

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)>

>

>

Išvestis

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

8. Pasirinktinių objektų sąrašo rūšiavimas

Šiame pavyzdyje mes kuriame pasirinktinę klasę pavadinimu Asmuo su dviem egzempliorių kintamaisiais pavadinimu ir amžiumi, taip pat kuriame tris asmens klasės objektus ir įterpiame objektus į sąrašus. Mes naudojame rūšiavimo funkciją, kuri rūšiuoja asmens 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)>

>

>

Išvestis

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

Apžvelgėme Python funkcijos sorted() apibrėžimą, sintaksę ir pavyzdžius. Tikimės, kad tai atsakė į jūsų klausimą, kaip naudoti rūšiuotą funkciją Python?.

Sorted() funkcijos nereikėtų painioti su sort() list metodu, nes jie skiriasi.

Tikimės, kad šis straipsnis padėjo suprasti Python funkciją sorted().