logo

Funkcija sorted() Python

Python sorted() funkcija vrne razvrščen seznam. Ni definiran samo za seznam in sprejema vse iterable (seznam, tuple, niz itd.).

Primer



Python3








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

>

>

Izhod

[1, 2, 3, 4]>

Sintaksa funkcije Python sorted().

razvrščeno (iterable, key, reverse)

Parametri:

  • Ponovljivo: zaporedje (seznam, tuple, niz) ali zbirka (slovar, set, frozenset) ali kateri koli drug iterator, ki ga je treba razvrstiti.
  • Ključ (neobvezno): Funkcija, ki bi služila kot ključ ali osnova za primerjavo vrst.
  • Vzvratno (neobvezno): Če je True, bi bila iterable razvrščena v obratnem (padajočem) vrstnem redu, privzeto je nastavljena na False.

Vrnitev: Vrne seznam z elementi v razvrščenem vrstnem redu.

Kako uporabljati funkcijo sorted() v Pythonu?

Uporaba funkcije sorted() je zelo enostavna. Je vgrajena funkcija v Pythonu in jo je mogoče uporabiti s katero koli iterable. Razumejmo to bolje s primerom:

primer:

Python3




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

>

>

Izhod

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

Več primerov funkcij Sorted().

Oglejmo si nekaj primerov uporabe funkcije sorted():

1. Razvrščanje seznama Python s funkcijo sorted().

V tem primeru smo uporabili razvrščeno na Seznam Python .

Python3




program za dedovanje v pythonu
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)>

>

>

Izhod

dedovanje v Javi
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. Razvrščanje različnih tipov podatkov s funkcijo sorted().

V tem primeru smo uporabili sorted() za različne podatkovne tipe, kot je seznam, tuple , vrvica, slovar , set in zamrznjen set.

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

>

>

Izhod

['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. Povratno razvrščanje z uporabo Python sorted()

Razvrščanje niza v leksikografsko obratnem vrstnem redu z nastavitvijo obratno=Res v funkciji 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))>

>

>

Izhod

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

4. Python Sorted() z lambda

Uporaba sorted() znotraj funkcije lambda Python.

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

>

>

Izhod

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

5. Razvrščeno() v Pythonu z len()

V tem primeru razvrščamo seznam glede na njegovo dolžino. Na prvem mestu naj bo niz najmanjše dolžine.

Python3

rekurzija java




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

>

>

Izhod

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

Ključ lahko vzame tudi uporabniško definirane funkcije kot svojo vrednost za osnovo razvrščanja.

primer:

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

>

>

Izhod

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

6. Razvrščanje seznama v naraščajočem vrstnem redu z sorted()

V my_list imamo seznam celih vrednosti. Nato uporabimo funkcijo sorted za razvrščanje seznama v naraščajočem vrstnem redu. Funkcija sorted vzame iterable, ki ga je treba razvrstiti, kot svoj prvi argument in vrne nov seznam, ki vsebuje razvrščene elemente.

V my_string imamo niz. Nato uporabimo funkcijo sorted za razvrščanje znakov v nizu v naraščajočem vrstnem redu. Sortirana funkcija obravnava niz kot iterable znakov in vrne nov seznam, ki vsebuje razvrščene znake.

V my_tuples imamo seznam tork, ki vsebuje cela števila in nize. Funkcijo sorted smo uporabili za razvrščanje seznama na podlagi drugega elementa vsake tuple. Da bi to dosegli, smo razvrščeni funkciji posredovali funkcijo lambda kot ključni argument.

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

ukaz autocad stretch

>

>

Izhod

[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. Razvrščanje seznama slovarjev po določenem ključu z uporabo sorted()

V tem primeru razvrščamo seznam slovarjev z določenim ključem.

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

>

>

Izhod

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

8. Razvrščanje seznama predmetov po meri

V tem primeru ustvarjamo razred po meri z imenom Oseba z dvema spremenljivkama primerka ime in starost ter ustvarjamo tri objekte razreda Oseba in vstavljamo predmete na sezname. Uporabljamo funkcijo Sorted, ki razvršča objekte osebe.

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

>

>

Izhod

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

Zajeli smo definicijo, sintakso in primere funkcije sorted() v Pythonu. Upam, da je to odgovorilo na vaše vprašanje o tem, kako uporabljati razvrščeno funkcijo v Pythonu?.

funkcije sorted() ne smete zamenjevati z metodo seznama sort(), saj sta različni.

Upam, da vam je ta članek pomagal razumeti funkcijo sorted() v Pythonu.