Python sorted() funktion returnerar en sorterad lista. Den är inte bara definierad för listan och den accepterar vilken som helst iterabel (lista, tuppel, sträng, etc.).
Exempel
Python3
print>(>sorted>([>4>,>1>,>3>,>2>]))> |
>
>Produktion
[1, 2, 3, 4]>
Python sorted() Funktionssyntax
sorterad (iterbar, nyckel, omvänd)
Parametrar:
- Iterable: sekvens (lista, tuppel, sträng) eller samling (ordbok, uppsättning, fryst uppsättning) eller någon annan iterator som behöver sorteras.
- Nyckel (frivillig): En funktion som skulle fungera som en nyckel eller en grund för sortsjämförelse.
- Omvänd (frivillig): Om det är sant, så skulle det iterbara sorteras i omvänd (fallande) ordning, som standard är det inställt som False.
Lämna tillbaka: Returnerar en lista med element i sorterad ordning.
Hur man använder sorted()-funktionen i Python?
Att använda sorted()-funktionen är mycket enkelt. Det är en inbyggd funktion i Python och kan användas med vilken som helst iterabel. Låt oss förstå det bättre med ett exempel:
Exempel:
Python3
# creating a list> counting>=> [>4>,>1>,>5>,>2>,>3>]> #print sorted list> print>(>sorted>(counting))> |
>
>Produktion
[1, 2, 3, 4, 5]>
More Sortered() funktionsexempel
Låt oss titta på några av användningsfallen för sortered()-funktionen:
1. Sortera en Python-lista med funktionen sorted().
I det här exemplet har vi använt sorterat på Python lista .
Python3
heltal till sträng
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)> |
heltal till sträng java
>
>Produktion
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. Sortera olika datatyper med sorted()-funktionen
I det här exemplet har vi använt sorted() på olika datatyper som list, tupel , sträng, lexikon , set och fryst 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))> |
>
>Produktion
['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. Omvänd sortering med Python sorted()
Sortera en sträng i lexikografiskt omvänd ordning genom inställning reverse=Sant i sorted()-funktionen.
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))> |
>
>Produktion
The original string : geekforgeeks String after reverse sorting : srokkggfeeee>
4. Python Sorted() med lambda
Använder sorted() i Python lambda-funktionen.
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))> |
>
skanner scan java
>Produktion
The original string : geekforgeeks String after reverse sorting : srokkggfeeee>
5. Sorterat() i Python med len()
I det här exemplet sorterar vi listan utifrån dess längd. Snöret med den minsta längden ska komma först.
Python3
L>=> [>'cccc'>,>'b'>,>'dd'>,>'aaa'>]> print>(>'Normal sort :'>,>sorted>(L))> print>(>'Sort with len :'>,>sorted>(L, key>=>len>))> |
>
>Produktion
Normal sort : ['aaa', 'b', 'cccc', 'dd'] Sort with len : ['b', 'dd', 'aaa', 'cccc']>
Nyckeln kan också ha användardefinierade funktioner som sitt värde för sorteringsgrunden.
Exempel:
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))> |
>
>Produktion
Normal sort : [3, 7, 11, 15] Sorted with key: [7, 15, 3, 11]>
6. Sortera en lista i stigande ordning med sorted()
I my_list har vi en lista med heltalsvärden. Vi använder sedan den sorterade funktionen för att sortera listan i stigande ordning. Den sorterade funktionen tar den iterable som ska sorteras som sitt första argument och returnerar en ny lista som innehåller de sorterade elementen.
I my_string har vi en sträng. Vi använder sedan den sorterade funktionen för att sortera tecknen i strängen i stigande ordning. Den sorterade funktionen behandlar strängen som en iterabel av tecken och returnerar en ny lista som innehåller de sorterade tecknen.
I my_tuples har vi en lista med tuples som innehåller heltal och strängar. Vi har använt den sorterade funktionen för att sortera listan baserat på det andra elementet i varje tupel. För att uppnå detta har vi skickat en lambda-funktion som nyckelargument till den sorterade funktionen.
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 version linux
>
>Produktion
[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. Sortera en lista med ordböcker efter en specifik nyckel med hjälp av sorted()
I det här exemplet sorterar vi listan med ordböcker med en specifik nyckel.
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)> |
>
>Produktion
[{'name': 'Alice', 'age': 18}, {'name': 'John', 'age': 20}, {'name': 'Bob', 'age': 22}]> 8. Sortera en lista med anpassade objekt
I det här exemplet skapar vi en anpassad klass med namnet Person med två instansvariabler namn och ålder och vi skapar tre objekt av klassen Person och infogar objekt i listor. Vi använder den sorterade funktionen som sorterar personens objekt.
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)> |
>
>Produktion
[Person(name='Alice', age=18), Person(name='John', age=25), Person(name='Bob', age=30)]>
Vi har täckt definitionen, syntaxen och exemplen på sorted()-funktionen i Python. Hoppas detta har besvarat din fråga om Hur man använder sorterad funktion i Python?.
sorted()-funktionen ska inte förväxlas med sort() listmetoden, eftersom de är olika.
Hoppas den här artikeln hjälpte dig att förstå sorted()-funktionen i Python.