logo

Python-Funktion sorted()

Python-Funktion sorted() gibt eine sortierte Liste zurück. Es ist nicht nur für die Liste definiert und akzeptiert alle iterierbaren Elemente (Liste, Tupel, Zeichenfolge usw.).

Beispiel



Python3








print>(>sorted>([>4>,>1>,>3>,>2>]))>

>

>

Ausgabe

[1, 2, 3, 4]>

Syntax der Python-Funktion sorted()

sortiert (iterierbar, Schlüssel, umgekehrt)

Parameter:

  • Wiederholbar: Sequenz (Liste, Tupel, String) oder Sammlung (Dictionary, Set, Frozenset) oder jeder andere Iterator, der sortiert werden muss.
  • Schlüssel (Optional): Eine Funktion, die als Schlüssel oder Grundlage für den Sortiervergleich dienen würde.
  • Umkehren (Optional): Bei „True“ wird die Iterable in umgekehrter (absteigender) Reihenfolge sortiert, standardmäßig ist sie auf „False“ gesetzt.

Zurückkehren: Gibt eine Liste mit Elementen in sortierter Reihenfolge zurück.

Wie verwende ich die Funktion sorted() in Python?

Die Verwendung der Funktion sorted() ist sehr einfach. Es handelt sich um eine in Python integrierte Funktion, die mit jeder iterierbaren Funktion verwendet werden kann. Lassen Sie es uns anhand eines Beispiels besser verstehen:

Beispiel:

Python3




# creating a list> counting>=> [>4>,>1>,>5>,>2>,>3>]> #print sorted list> print>(>sorted>(counting))>

>

>

Ausgabe

[1, 2, 3, 4, 5]>

Weitere Beispiele für Sorted()-Funktionen

Schauen wir uns einige Anwendungsfälle der Funktion sorted() an:

1. Sortieren einer Python-Liste mit der Funktion sorted()

In diesem Beispiel haben wir sortiert auf angewendet Python-Liste .

Python3




Mapping im Typoskript
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)>

>

string.format Java
>

Ausgabe

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. Sortieren verschiedener Datentypen mit der Funktion sorted()

In diesem Beispiel haben wir sorted() für verschiedene Datentypen wie Liste, Tupel , Schnur, Wörterbuch , Set und Frozen 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))>

>

>

Ausgabe

['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. Umgekehrte Sortierung mit Python sorted()

Sortieren einer Zeichenfolge in lexikographisch umgekehrter Reihenfolge nach Einstellung umgekehrt=Wahr in der Funktion 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))>

>

>

Ausgabe

The original string : geekforgeeks String after reverse sorting : srokkggfeeee>

4. Python Sorted() mit Lambda

Verwendung von sorted() innerhalb der Python-Lambda-Funktion.

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))>

>

>

Ausgabe

ASCII-Tabelle in C
The original string : geekforgeeks String after reverse sorting : srokkggfeeee>

5. Sorted() in Python mit len()

In diesem Beispiel sortieren wir die Liste nach ihrer Länge. Der String mit der kleinsten Länge sollte zuerst kommen.

Python3




L>=> [>'cccc'>,>'b'>,>'dd'>,>'aaa'>]> print>(>'Normal sort :'>,>sorted>(L))> print>(>'Sort with len :'>,>sorted>(L, key>=>len>))>

>

>

Ausgabe

Normal sort : ['aaa', 'b', 'cccc', 'dd'] Sort with len : ['b', 'dd', 'aaa', 'cccc']>

Der Schlüssel kann auch benutzerdefinierte Funktionen als Wert für die Sortiergrundlage annehmen.

Beispiel:

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))>

>

>

Ausgabe

Normal sort : [3, 7, 11, 15] Sorted with key: [7, 15, 3, 11]>

6. Sortieren einer Liste in aufsteigender Reihenfolge mit sorted()

In my_list haben wir eine Liste ganzzahliger Werte. Anschließend verwenden wir die Sortierfunktion, um die Liste in aufsteigender Reihenfolge zu sortieren. Die sortierte Funktion verwendet das zu sortierende Iterable als erstes Argument und gibt eine neue Liste zurück, die die sortierten Elemente enthält.

In my_string haben wir einen String. Anschließend verwenden wir die Funktion „sortiert“, um die Zeichen in der Zeichenfolge in aufsteigender Reihenfolge zu sortieren. Die sortierte Funktion behandelt die Zeichenfolge als iterierbare Zeichenfolge und gibt eine neue Liste zurück, die die sortierten Zeichen enthält.

In my_tuples haben wir eine Liste von Tupeln, die Ganzzahlen und Zeichenfolgen enthält. Wir haben die Funktion „sortiert“ verwendet, um die Liste basierend auf dem zweiten Element jedes Tupels zu sortieren. Um dies zu erreichen, haben wir eine Lambda-Funktion als Schlüsselargument an die sortierte Funktion übergeben.

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)>

leere Liste Java

>

>

Ausgabe

[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. Sortieren einer Liste von Wörterbüchern nach einem bestimmten Schlüssel mit sorted()

In diesem Beispiel sortieren wir die Liste der Wörterbücher nach einem bestimmten Schlüssel.

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)>

>

>

Ausgabe

[{'name': 'Alice', 'age': 18}, {'name': 'John', 'age': 20}, {'name': 'Bob', 'age': 22}]>

8. Sortieren einer Liste benutzerdefinierter Objekte

In diesem Beispiel erstellen wir eine benutzerdefinierte Klasse namens Person mit zwei Instanzvariablen namens und Alter, erstellen drei Objekte der Person-Klasse und fügen Objekte in Listen ein. Wir verwenden die Sorted-Funktion, die die Objekte der Person sortiert.

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)>

>

>

Ausgabe

[Person(name='Alice', age=18), Person(name='John', age=25), Person(name='Bob', age=30)]>

Wir haben die Definition, Syntax und Beispiele der Funktion sorted() in Python behandelt. Ich hoffe, dies hat Ihre Frage zur Verwendung einer sortierten Funktion in Python beantwortet.

Die Funktion sort() sollte nicht mit der Listenmethode sort() verwechselt werden, da sie unterschiedlich sind.

Ich hoffe, dieser Artikel hat Ihnen dabei geholfen, die Funktion sorted() in Python zu verstehen.