Funcția Python sortat(). returnează o listă sortată. Nu este definit doar pentru listă și acceptă orice iterabil (listă, tuplu, șir etc.).
Exemplu
Python3
print>(>sorted>([>4>,>1>,>3>,>2>]))> |
>
>Ieșire
[1, 2, 3, 4]>
Sintaxa funcției Python sorted().
sortat (iterabil, cheie, invers)
Parametri:
- Iterabil: secvență (listă, tuplu, șir) sau colecție (dicționar, set, frozenset) sau orice alt iterator care trebuie sortat.
- Cheie (optional): O funcție care ar servi ca o cheie sau o bază pentru compararea sortării.
- Verso (optional): Dacă este adevărat, atunci iterabilul ar fi sortat în ordine inversă (descrescătoare), implicit este setat ca Fals.
Întoarcere: Returnează o listă cu elemente în ordine sortată.
Cum se utilizează funcția sortat() în Python?
Utilizarea funcției sorted() este foarte ușoară. Este o funcție încorporată în Python și poate fi folosită cu orice iterabil. Să înțelegem mai bine cu un exemplu:
Exemplu:
Python3
# creating a list> counting>=> [>4>,>1>,>5>,>2>,>3>]> #print sorted list> print>(>sorted>(counting))> |
>
>Ieșire
[1, 2, 3, 4, 5]>
Mai multe exemple de funcții Sorted().
Să ne uităm la câteva dintre cazurile de utilizare ale funcției sorted():
1. Sortarea unei liste Python folosind funcția sorted().
În acest exemplu, am aplicat sortate pe Lista Python .
Python3
cadru de colecții java
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)> |
>
int la șir
>Ieșire
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. Sortarea diferitelor tipuri de date cu funcția sorted().
În acest exemplu, am folosit sorted() pe diferite tipuri de date, cum ar fi lista, tuplu , sfoară, dicţionar , set și set congelat.
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))> |
>
>Ieșire
['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. Sortare inversă folosind Python sorted()
Sortarea unui șir în ordine inversă lexicografic prin setare invers=Adevărat în funcția 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))> |
>
>Ieșire
The original string : geekforgeeks String after reverse sorting : srokkggfeeee>
4. Python Sorted() cu lambda
Folosind sorted() în cadrul funcției 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))> |
>
>Ieșire
Cum găsesc aplicații ascunse pe Android
The original string : geekforgeeks String after reverse sorting : srokkggfeeee>
5. Sortat() în Python cu len()
În acest exemplu, sortăm lista în funcție de lungimea acesteia. Sforul de cea mai mică lungime ar trebui să fie primul.
Python3
L>=> [>'cccc'>,>'b'>,>'dd'>,>'aaa'>]> print>(>'Normal sort :'>,>sorted>(L))> print>(>'Sort with len :'>,>sorted>(L, key>=>len>))> |
>
>Ieșire
Normal sort : ['aaa', 'b', 'cccc', 'dd'] Sort with len : ['b', 'dd', 'aaa', 'cccc']>
Cheia poate lua, de asemenea, funcții definite de utilizator ca valoare pentru baza sortării.
Exemplu:
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))> |
>
>Ieșire
Normal sort : [3, 7, 11, 15] Sorted with key: [7, 15, 3, 11]>
6. Sortarea unei liste în ordine crescătoare cu sorted()
În my_list, avem o listă de valori întregi. Folosim apoi funcția sortată pentru a sorta lista în ordine crescătoare. Funcția sortată ia iterabilul pentru a fi sortat ca prim argument și returnează o nouă listă care conține elementele sortate.
În my_string, avem un șir. Folosim apoi funcția sortată pentru a sorta în ordine crescătoare caracterele din șir. Funcția sortată tratează șirul ca pe un iterabil de caractere și returnează o nouă listă care conține caracterele sortate.
În my_tuples, avem o listă de tupluri care conține numere întregi și șiruri. Am folosit funcția sortată pentru a sorta lista pe baza celui de-al doilea element al fiecărui tuplu. Pentru a realiza acest lucru, am trecut o funcție lambda ca argument cheie pentru funcția sortată.
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)> |
cati mb intr-un gb
>
>Ieșire
[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. Sortarea unei liste de dicționare după o cheie specifică folosind sorted()
În acest exemplu, sortăm lista de dicționare cu o anumită cheie.
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)> |
>
>Ieșire
[{'name': 'Alice', 'age': 18}, {'name': 'John', 'age': 20}, {'name': 'Bob', 'age': 22}]> 8. Sortarea unei liste de obiecte personalizate
În acest exemplu, creăm o clasă personalizată numită Person cu două variabile de instanță nume și vârstă și creăm trei obiecte din clasa Person și inserăm obiecte în liste. Folosim funcția Sorted care sortează obiectele Persoanei.
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)> |
>
>Ieșire
[Person(name='Alice', age=18), Person(name='John', age=25), Person(name='Bob', age=30)]>
Am acoperit definiția, sintaxa și exemplele funcției sorted() în Python. Sper că acest lucru v-a răspuns la întrebarea despre Cum să utilizați funcția sortată în Python?.
Funcția sorted() nu trebuie confundată cu metoda sort() list, deoarece acestea sunt diferite.
Sper că acest articol v-a ajutat să înțelegeți funcția sorted() în Python.