Python sortert() funksjon
Python sortert() funksjon returnerer en sortert liste. Den er ikke bare definert for listen, og den aksepterer alle iterable (liste, tuppel, streng, etc.).
Eksempel
Python3
print> (> sorted> ([> 4> ,> 1> ,> 3> ,> 2> ]))> |
Produksjon
[1, 2, 3, 4]
Python sorted() Funksjonssyntaks
sortert (iterbar, nøkkel, omvendt)
Parametere:
- Iterable: sekvens (liste, tuppel, streng) eller samling (ordbok, sett, frossensett) eller en hvilken som helst annen iterator som må sorteres.
- Nøkkel (valgfri): En funksjon som vil tjene som en nøkkel eller et grunnlag for sorteringssammenligning.
- Omvendt (valgfri): Hvis det er sant, vil det iterable bli sortert i omvendt (synkende) rekkefølge, som standard er det satt som usann.
Komme tilbake: Returnerer en liste med elementer i sortert rekkefølge.
Hvordan bruke sortert() funksjon i Python?
Det er veldig enkelt å bruke funksjonen sortert(). Det er en innebygd funksjon i Python og kan brukes med alle iterable. La oss forstå det bedre med et eksempel:
Eksempel:
Python3
# creating a list> counting> => [> 4> ,> 1> ,> 5> ,> 2> ,> 3> ]> #print sorted list> print> (> sorted> (counting))> |
Produksjon
[1, 2, 3, 4, 5]
Flere Sortert() funksjonseksempler
La oss se på noen av brukstilfellene til sortert()-funksjonen:
1. Sortere en Python-liste ved hjelp av funksjonen sorted().
I dette eksemplet har vi brukt sortert på Python-liste .
Python3
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)> |
Produksjon
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. Sortering av ulike datatyper med sortert() funksjon
I dette eksemplet har vi brukt sorted() på forskjellige datatyper som list, tuppel , streng, ordbok , sett og frosset sett.
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))> |
Produksjon
['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. Omvendt sortering ved hjelp av Python sorted()
Sortering av en streng i leksikografisk omvendt rekkefølge etter innstilling reverse=Sant i sortert()-funksjonen.
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))> |
Produksjon
The original string : geekforgeeks String after reverse sorting : srokkggfeeee
4. Python Sorted() med lambda
Bruke sorted() inne i Python lambda-funksjonen.
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))> |
Produksjon
The original string : geekforgeeks String after reverse sorting : srokkggfeeee
5. Sortert() i Python med len()
I dette eksemplet sorterer vi listen basert på lengden. Snoren med den minste lengden skal komme først.
Python3
L> => [> 'cccc'> ,> 'b'> ,> 'dd'> ,> 'aaa'> ]> print> (> 'Normal sort :'> ,> sorted> (L))> print> (> 'Sort with len :'> ,> sorted> (L, key> => len> ))> |
Produksjon
Normal sort : ['aaa', 'b', 'cccc', 'dd'] Sort with len : ['b', 'dd', 'aaa', 'cccc']
Nøkkelen kan også ta brukerdefinerte funksjoner som sin verdi for sorteringsgrunnlaget.
Eksempel:
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))> |
Produksjon
Normal sort : [3, 7, 11, 15] Sorted with key: [7, 15, 3, 11]
6. Sortere en liste i stigende rekkefølge med sorted()
I min_liste har vi en liste over heltallsverdier. Vi bruker deretter den sorterte funksjonen for å sortere listen i stigende rekkefølge. Den sorterte funksjonen tar den iterable som skal sorteres som sitt første argument og returnerer en ny liste som inneholder de sorterte elementene.
I my_string har vi en streng. Vi bruker deretter den sorterte funksjonen til å sortere tegnene i strengen i stigende rekkefølge. Den sorterte funksjonen behandler strengen som en iterabel av tegn og returnerer en ny liste som inneholder de sorterte tegnene.
I my_tuples har vi en liste over tuples som inneholder heltall og strenger. Vi har brukt den sorterte funksjonen til å sortere listen basert på det andre elementet i hver tuppel. For å oppnå dette har vi sendt en lambda-funksjon som nøkkelargument til den sorterte funksjonen.
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)> |
Produksjon
[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. Sortere en liste over ordbøker etter en spesifikk nøkkel ved å bruke sorted()
I dette eksemplet sorterer vi listen over ordbøker med en bestemt nøkkel.
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)> |
Produksjon
[{'name': 'Alice', 'age': 18}, {'name': 'John', 'age': 20}, {'name': 'Bob', 'age': 22}] 8. Sortere en liste over egendefinerte objekter
I dette eksemplet lager vi en egendefinert klasse kalt Person med to forekomstvariabler navn og alder, og vi lager tre objekter av Person-klassen og setter inn objekter i lister. Vi bruker den sorterte funksjonen som sorterer personens objekter.
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)> |
Produksjon
[Person(name='Alice', age=18), Person(name='John', age=25), Person(name='Bob', age=30)]
Vi har dekket definisjonen, syntaksen og eksempler på sortert()-funksjonen i Python. Håper dette har svart på spørsmålet ditt om Hvordan bruke sortert funksjon i Python?.
sorted()-funksjonen må ikke forveksles med sort()-listemetoden, siden de er forskjellige.
Håper denne artikkelen hjalp deg med å forstå sorted()-funksjonen i Python.