Mit der Sortierfunktion kann die Liste sowohl in aufsteigender als auch in absteigender Reihenfolge sortiert werden. Es kann zum Sortieren von Listen mit Ganzzahlen, Gleitkommazahlen, Zeichenfolgen und anderen verwendet werden Python . Seine zeitliche Komplexität beträgt O(NlogN).
Python sort()-Syntax
Die Syntax der Funktion sort() in Python lautet wie folgt.
Syntax: list_name.sort(key=…, reverse=…)
Parameter:
Standardmäßig benötigt Python sort() keine zusätzlichen Parameter und sortiert die Liste in aufsteigender Reihenfolge. Es gibt jedoch zwei optionale Parameter:
- Schlüssel: Funktion, die als Schlüssel für den Sortiervergleich dient
- umkehren: Bei „true“ wird die Liste in absteigender Reihenfolge sortiert.
Rückgabewert: Die Funktion sort() gibt nichts zurück, sondern ändert die ursprüngliche Liste entsprechend dem übergebenen Parameter.
Was ist die Python-Funktion sort()?
In Python ist diesort()>Funktion ist eine Methode, die zur Liste gehört. Es wird standardmäßig verwendet, um in Python oder den Elementen einer Liste in aufsteigender Reihenfolge zu sortieren. Dersort()>Die Methode ändert die ursprüngliche Liste direkt, d. h. sie ordnet die Elemente direkt im vorhandenen Listenobjekt neu an, anstatt eine neue sortierte Liste zu erstellen.
Sort() in Python-Beispielen
Ein einfaches Beispiel für die Python-Methode sort().
wie viele Wochen pro Monat
Beispiel : In diesem Beispiel definiert der folgende Code eine Liste mit dem Namenunsorted_list>mit numerischen Elementen. Dersort()>Anschließend wird die Methode auf die Liste angewendet, die ihre Elemente in aufsteigender Reihenfolge neu anordnet. Die sortierte Liste wird dann gedruckt und zeigt das Ergebnis des Sortiervorgangs.
Python3
unsorted_list>=> [>2>,>4>,>5>,>32>,>6>,>255>,>5>,>42>]> unsorted_list.sort()> print>(>'Now it is sorted:'>, unsorted_list)> |
>
>
Ausgabe:
Now it is sorted: [2, 4, 5, 5, 6, 32, 42, 255]>
Verschiedene Möglichkeiten zum Sortieren() in Python
In Python,sort()>ist eine integrierte Methode zum Sortieren von Elementen in einer Liste in aufsteigender Reihenfolge. Es ändert die ursprüngliche Liste an Ort und Stelle, d. h. es ordnet die Elemente direkt in der Liste neu an, ohne eine neue Liste zu erstellen. Dersort()>Methode gibt keinen Wert zurück; Es sortiert einfach die Liste und aktualisiert sie.
- Sortierung Liste in aufsteigender Reihenfolge
- Sortierung Liste in absteigender Reihenfolge
- Sortieren mit benutzerdefinierte Funktion Schlüssel verwenden
- Sortierung Liste der Zeichenfolgen nach Länge
- Sortierliste von Tupel durch ein bestimmtes Element
- Sortierliste von Wörterbücher durch einen spezifischen Schlüssel
Sort() in Python mithilfe der Sortierliste in aufsteigender Reihenfolge
Die Methode „sort()“ in Python wird verwendet, um eine Liste von Elementen in aufsteigender Reihenfolge zu sortieren. Es ändert die ursprüngliche Liste direkt und ordnet ihre Elemente neu an, um sie in aufsteigender numerischer oder lexikografischer Reihenfolge anzuzeigen. Die Methode ist auf Listen anwendbar, die numerische Werte, Zeichenfolgen oder eine Kombination aus beidem enthalten. Standardmäßig sortiert sort() in Python eine Liste in aufsteigender Reihenfolge, wenn wir ihr keine Parameter zur Verfügung stellen.
Beispiel : In diesem Beispiel demonstriert der folgende Code Sortiervorgänge für verschiedene Listentypen. Zunächst wird mit der Methode „sort()“ eine Liste von Ganzzahlen („Zahlen“) in aufsteigender Reihenfolge sortiert. Als nächstes sortiert es eine Liste von Gleitkommazahlen („decimalnumber“) in aufsteigender Reihenfolge.
Python3
# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort()> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort()> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort()> print>(words)> |
>
>
Ausgabe:
[1, 2, 3, 4] [1.68, 2.0, 2.01, 3.28, 3.67] ['For', 'Geeks', 'Geeks']>
Sort() in Python mithilfe der Sortierliste in absteigender Reihenfolge
Um eine Liste in absteigender Reihenfolge zu sortieren, setzen Sie den Reverse-Parameter der Funktion sort() in Python auf True.
my_list.sort(reverse=True)>
Beispiel: Ich In diesem Beispielcode werden drei Listen unterschiedlicher Typen (Ganzzahlen, Gleitkommazahlen und Zeichenfolgen) definiert, sie mithilfe der Methode „sort“ mit dem Parameter „reverse=True“ in absteigender Reihenfolge sortiert und anschließend die sortierten Listen gedruckt.
Python3
# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort(reverse>=>True>)> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort(reverse>=>True>)> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort(reverse>=>True>)> print>(words)> |
>
>
Ausgabe:
[4, 3, 2, 1] [3.67, 3.28, 2.01, 2.0, 1.68] ['Geeks', 'Geeks', 'For']>
Mit der benutzerdefinierten Funktion mithilfe der Taste sortieren
In dieser Methode wird ein Sortiervorgang mit einer benutzerdefinierten Funktion unter Verwendung des Schlüsselparameters beschrieben. Dies ermöglicht eine Sortierung basierend auf einem bestimmten Kriterium, das durch die benutzerdefinierte Funktion definiert wird, und nicht auf der Standardreihenfolge. Die benutzerdefinierte Funktion wird auf jedes Element angewendet und die Liste entsprechend sortiert.
Beispiel : In diesem Beispiel definiert der Code eine Funktion „sortSecond“, die das zweite Element eines Tupels zurückgibt. Anschließend erstellt es eine Liste von Tupeln, „list1“, und sortiert sie mithilfe der Funktion „sortSecond“ in aufsteigender Reihenfolge basierend auf dem zweiten Element.
Python3
def> sortSecond(val):> >return> val[>1>]> # list1 to demonstrate the use of sorting> # using second key> list1>=> [(>1>,>2>),(>3>,>3>),(>1>,>1>)]> # sorts the array in ascending according to> # second element> list1.sort(key>=>sortSecond)> print>(list1)> # sorts the array in descending according to> # second element> list1.sort(key>=>sortSecond,reverse>=>True>)> print>(list1)> |
>
>
Ausgabe:
[(1, 1), (1, 2), (3, 3)] [(3, 3), (1, 2), (1, 1)]>
Sortieren der Liste von Zeichenfolgen nach Länge in Sort() in Python
Bei dieser Methode sortieren wir eine Liste von Strings in aufsteigender Reihenfolge ihrer Länge, indem wir die Funktion „sort()“ mit „key=len“ verwenden. Dies bedeutet, dass die Zeichenfolgen in der resultierenden sortierten Liste von der kürzesten zur längsten Länge angeordnet sind.
Beispiel : In diesem Beispiel definiert der folgende Code eine Liste von Zeichenfolgen:words>und sortiert es dann basierend auf der Länge jeder Zeichenfolge mithilfe vonlen()>Funktion als Sortierschlüssel. Abschließend wird die sortierte Liste gedruckt.
Python3
# Original list of strings> words>=> [>'apple'>,>'banana'>,>'kiwi'>,>'orange'>,>'grape'>]> # Sorting by length using the len() function as the key> words.sort(key>=>len>)> # Displaying the sorted list> print>(>'Sorted by Length:'>, words)> |
>
>
Ausgabe :
Sorted by Length: ['kiwi', 'apple', 'grape', 'banana', 'orange']>
Sortieren der Liste von Tupeln nach einem bestimmten Element
Um eine Liste von Tupeln nach einem bestimmten Element zu sortieren, verwenden Sie die Funktion „sort()“ mit dem Parameter „key“. Geben Sie eine Lambda-Funktion als Schlüssel an, die auf den Index des gewünschten Elements abzielt. Die Tupel werden basierend auf den Werten dieses bestimmten Elements sortiert.
Beispiel : In dieser Methode definiert der Code eine Liste von Tupeln mit dem Namen „Personen“, wobei jedes Tupel den Namen und das Alter einer Person darstellt. Anschließend wird die Liste anhand des zweiten Elements jedes Tupels (Alter) sortiertsort>-Methode und einer Lambda-Funktion als Sortierschlüssel.
Python3
# Original list of tuples> people>=> [(>'Alice'>,>25>), (>'Bob'>,>30>), (>'Charlie'>,>22>), (>'David'>,>28>)]> # Sorting by the second element of each tuple (age)> people.sort(key>=>lambda> x: x[>1>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, people)> |
>
>
Ausgabe :
Sorted by Age: [('Charlie', 22), ('Alice', 25), ('David', 28), ('Bob', 30)]> Liste der Wörterbücher nach einem bestimmten Schlüssel sortieren
Bei dieser Methode wird die Funktion „sort()“ für eine Liste von Wörterbüchern in Python verwendet. Durch Angabe einer Lambda-Funktion als Schlüsselparameter können Sie die Liste nach einem bestimmten Schlüssel in jedem Wörterbuch sortieren. Dadurch kann die Liste der Wörterbücher in aufsteigender Reihenfolge nach den mit dem gewählten Schlüssel verknüpften Werten geordnet werden.
Beispiel : In diesem Beispiel definiert der Code eine Liste aufgerufener Wörterbücherstudents>, wobei jedes Wörterbuch einen Schüler mit Namens- und Altersschlüsseln darstellt. Anschließend wird die Liste der Wörterbücher anhand des Altersschlüssels in jedem Wörterbuch mithilfe von sortiertsort>-Methode und einer Lambda-Funktion als Schlüssel.
Python3
# Original list of dictionaries> students>=> [> >{>'name'>:>'Alice'>,>'age'>:>25>},> >{>'name'>:>'Bob'>,>'age'>:>30>},> >{>'name'>:>'Charlie'>,>'age'>:>22>},> >{>'name'>:>'David'>,>'age'>:>28>},> ]> # Sorting by the 'age' key in each dictionary> students.sort(key>=>lambda> x: x[>'age'>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, students)> |
>
>
Ausgabe :
Sorted by Age: [ {'name': 'Charlie', 'age': 22}, {'name': 'Alice', 'age': 25}, {'name': 'David', 'age': 28}, {'name': 'Bob', 'age': 30} ]> Unterschied zwischen der Funktion sorted() und sort() in Python
Lassen Sie uns den Unterschied zwischen den sehen sortiert() und sort()-Funktion in Python:
| Python sortiert() | Python sort() |
|---|---|
| Die Funktion sorted() gibt eine sortierte Liste des spezifischen iterierbaren Objekts zurück. | Die Methode sort() sortiert die Liste. |
| Bei Verwendung der Funktion sorted() können wir eine aufsteigende oder absteigende Reihenfolge angeben | Die Liste wird standardmäßig in aufsteigender Reihenfolge sortiert. |
| Syntax : sortiert (iterierbar, Schlüssel=Schlüssel, umgekehrt=umgekehrt) | Syntax : list.sort(reverse=True|False, key=myFunc) |
| Der Rückgabetyp ist eine sortierte Liste. | Wir können es auch zum Sortieren einer Liste in absteigender Reihenfolge verwenden. |
| Kann mit jedem Iterable verwendet werden, auch wenn kein Vergleich zwischen Elementen definiert ist | Erfordert, dass Elemente mit dem vergleichbar sind |
| Behält die relative Reihenfolge gleicher Elemente bei und sorgt so für Stabilität. | Möglicherweise nicht stabil; die Reihenfolge gleicher Elemente kann sich ändern. |
| O(n log n) Zeitkomplexität für die meisten Fälle. | O(n log n) Zeitkomplexität für die meisten Fälle. |
| Es kann nur eine Liste sortieren, die nur einen Werttyp enthält. | Es sortiert die Liste an Ort und Stelle. |
| Unterstützt a | Unterstützt auch a |
| Benötigt zusätzlichen Speicher für die neue sortierte Liste. | Führt die Sortierung vor Ort durch und spart so Speicherplatz. |
Weitere Informationen finden Sie unter Python-Unterschied zwischen der Funktion sorted() und sort() .