logo

Python sorted() Funktion

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.