Funkcia Python zoradené (). vráti zoradený zoznam. Nie je definovaný len pre zoznam a akceptuje všetky iterovateľné (zoznam, n-tica, reťazec atď.).
Príklad
Python3
print>(>sorted>([>4>,>1>,>3>,>2>]))> |
>
>Výkon
[1, 2, 3, 4]>
Syntax funkcie Python sort()
triedené (opakovateľné, kľúčové, spätné)
Parametre:
- Iterovateľné: sekvencia (zoznam, n-tica, reťazec) alebo kolekcia (slovník, množina, zmrazená množina) alebo akýkoľvek iný iterátor, ktorý je potrebné triediť.
- kľúč (voliteľné): Funkcia, ktorá by slúžila ako kľúč alebo základ porovnávania triedenia.
- Obrátený (voliteľné): Ak je pravda, potom by sa iterovateľné triedili v opačnom (zostupnom) poradí, predvolene je nastavené ako False.
Návrat: Vráti zoznam s prvkami v zoradenom poradí.
Ako používať funkciu sort() v Pythone?
Použitie funkcie sorted() je veľmi jednoduché. Je to vstavaná funkcia v Pythone a dá sa použiť s akýmkoľvek iterovateľným. Poďme to lepšie pochopiť na príklade:
Príklad:
Python3
# creating a list> counting>=> [>4>,>1>,>5>,>2>,>3>]> #print sorted list> print>(>sorted>(counting))> |
>
>Výkon
[1, 2, 3, 4, 5]>
Ďalšie príklady funkcií Sorted().
Pozrime sa na niektoré prípady použitia funkcie sort() :
1. Triedenie pythonského zoznamu pomocou funkcie sorted().
V tomto príklade sme použili triedené na Zoznam Python .
Python3
program dedičnosti v pythone
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)> |
>
>Výkon
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. Triedenie rôznych dátových typov pomocou funkcie sort().
V tomto príklade sme použili sort() na rôznych dátových typoch, ako je zoznam, násobný , šnúrka, slovník , set a zmrazený 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))> |
>
>Výkon
['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. Obrátené triedenie pomocou Pythonu sorted()
Triedenie reťazca v lexikograficky obrátenom poradí nastavením obrátene = pravda vo funkcii 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))> |
>
>Výkon
The original string : geekforgeeks String after reverse sorting : srokkggfeeee>
4. Python Sorted() s lambda
Pomocou sorted() vo funkcii Python lambda.
Python3
string.format java string
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))> |
>
>Výkon
The original string : geekforgeeks String after reverse sorting : srokkggfeeee>
5. Sorted() v Pythone s len()
V tomto príklade triedime zoznam na základe jeho dĺžky. Šnúrka s najmenšou dĺžkou by mala byť na prvom mieste.
Python3
L>=> [>'cccc'>,>'b'>,>'dd'>,>'aaa'>]> print>(>'Normal sort :'>,>sorted>(L))> print>(>'Sort with len :'>,>sorted>(L, key>=>len>))> |
>
>Výkon
Normal sort : ['aaa', 'b', 'cccc', 'dd'] Sort with len : ['b', 'dd', 'aaa', 'cccc']>
Kľúč môže mať ako hodnotu pre základ triedenia aj užívateľom definované funkcie.
Príklad:
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))> |
>
>Výkon
Normal sort : [3, 7, 11, 15] Sorted with key: [7, 15, 3, 11]>
6. Triedenie zoznamu vo vzostupnom poradí pomocou sorted()
V my_list máme zoznam celočíselných hodnôt. Potom použijeme funkciu triedenia na zoradenie zoznamu vo vzostupnom poradí. Funkcia zoradených berie iterovateľný prvok na zoradenie ako svoj prvý argument a vráti nový zoznam, ktorý obsahuje zoradené prvky.
V my_string máme reťazec. Potom použijeme funkciu sort na zoradenie znakov v reťazci vo vzostupnom poradí. Funkcia zoradené považuje reťazec za iterovateľný znak a vráti nový zoznam, ktorý obsahuje zoradené znaky.
V my_tuples máme zoznam n-tic, ktorý obsahuje celé čísla a reťazce. Použili sme funkciu sort na triedenie zoznamu na základe druhého prvku každej n-tice. Aby sme to dosiahli, odovzdali sme funkciu lambda ako kľúčový argument triedenej funkcii.
Python3
tabuľka rímskych číslic 1 100
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)> |
css zarovnávanie obrázkov
>
>Výkon
[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. Triedenie zoznamu slovníkov podľa špecifického kľúča pomocou sort()
V tomto príklade triedime zoznam slovníkov podľa konkrétneho kľúča.
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)> |
>
>Výkon
[{'name': 'Alice', 'age': 18}, {'name': 'John', 'age': 20}, {'name': 'Bob', 'age': 22}]> 8. Triedenie zoznamu vlastných objektov
V tomto príklade vytvárame vlastnú triedu s názvom Osoba s dvoma premennými inštancie menom a vekom a vytvárame tri objekty triedy Osoba a vkladáme objekty do zoznamov. Používame funkciu triedenia, ktorá triedi predmety osoby.
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)> |
>
>Výkon
[Person(name='Alice', age=18), Person(name='John', age=25), Person(name='Bob', age=30)]>
Pokryli sme definíciu, syntax a príklady funkcie sort() v Pythone. Dúfam, že to odpovedalo na vašu otázku Ako používať triedenú funkciu v Pythone?.
Funkcia sort() by sa nemala zamieňať s metódou zoznamu sort(), pretože sú odlišné.
Dúfam, že vám tento článok pomohol pochopiť funkciu sort() v Pythone.