Python Liste sort() mit Beispielen
โก Intelligente Zusammenfassung
Python Die Funktion `list sort()` ordnet die Elemente einer Liste an Ort und Stelle an, standardmรครig aufsteigend oder absteigend รผber den Parameter `reverse`. Eine optionale `key`-Funktion sortiert nach benutzerdefinierten Kriterien wie Lรคnge, Tupelfeldern oder benutzerdefinierten Funktionen.

Was ist die sort()-Methode in Python?
Die sort()-Funktion in Python Diese Funktion hilft dabei, eine Liste aufsteigend oder absteigend zu sortieren. Sie kann zum Sortieren von Zahlenlisten, Tupeln und Zeichenkettenlisten verwendet werden. Dabei wird keine separate Liste erstellt, sondern die ursprรผngliche Liste modifiziert oder sortiert.
Syntax der Sort-Methode in Python
Die Sortierfunktion hat folgende Syntax:
List.sort(key=โฆ, reverse=โฆ)
Die Sortierfunktion hat zwei optionale Parameter, nรคmlich:
- Schlรผssel: โ Dies wird verwendet, um eine Funktion basierend auf einem Sortierkriterium zu sortieren.
- Reverse: โ Die Funktion nimmt den Wert โtrueโ oder โfalseโ entgegen. Im Fall von โtrueโ sortiert diese benutzerdefinierte Funktion die Liste in absteigender Reihenfolge.
Sortieren einer Liste in aufsteigender Reihenfolge mit der Sort-Methode in Python
In Pythonsortiert die Sortierfunktion standardmรครig alle Listen in aufsteigender Reihenfolge. Bei einer aufsteigend sortierten Liste steht der niedrigste Wert auf der linken Seite und der hรถchste Wert auf der rechten Seite.
Ejemplo:
Python Code:
base_list=["Google","Reliance","Guru99","Content","Syntax"] base_list.sort() print("the base list after sorting is",base_list)
Ausgang:
the base list after sorting is ['Content', 'Google', 'Guru99', 'Reliance', 'Syntax']
Code Erlรคuterung:
- Die obige Liste ist eine zufรคllig definierte Zeichenfolgenliste.
- Die Sortierfunktion von Python hilft beim Sortieren der Zufallsliste in aufsteigender Reihenfolge, mit der geringsten Wortlรคnge auf der linken Seite und der grรถรten Wortlรคnge auf der rechten Seite.
Sortieren einer Liste in absteigender Reihenfolge
Die Sortierfunktion ermรถglicht auch die absteigende Sortierung einer Liste. Es kann als Reihenfolge definiert werden wobei die Liste mit dem hรถchsten Wert beginnt und mit dem niedrigsten Wert endet.
Der umgekehrte Parameter der Sortierfunktion wird als โtrueโ zugewiesen, um eine Liste in absteigender Reihenfolge zu sortieren.
Betrachten wir das folgende Beispiel:
Python Code:
base_list=[100,600,400,8000,50] base_list.sort() print("the base list after sorting is",base_list) # Reverse Order base_list.sort(reverse=True) print("the base list after REVERSE sorting is",base_list)
Ausgang:
the base list after sorting is [50, 100, 400, 600, 8000] the base list after REVERSE sorting is [8000, 600, 400, 100, 50]
Hinweis: Stellen Sie sicher, dass die Zuweisung des Wortes โTrueโ zum Reverse-Parameter mit dem Groรbuchstaben โTโ beginnt, um Laufzeitfehler zu vermeiden.
Sortieren einer Liste von Tupeln mit der Sort-Methode in Python
Python Tupel sind Sammlungen unverรคnderlicher Elemente, die einer geordneten Reihenfolge folgen. PythonMit der Sortierfunktion von kann eine Liste von Tupeln mithilfe einer benutzerdefinierten Funktion und eines Lambda-Ausdrucks sortiert werden.
Eine benutzerdefinierte Funktion kann ohne Namen erstellt und durch einen Lambda-Ausdruck dargestellt werden. Die Syntax fรผr Lambda-Ausdrรผcke lautet wie folgt:
Syntax:
Lambda arguments: expression
Die obige Syntax entspricht dem folgenden Python-Code:
def name (arguments): return expression
Hier ist ein Beispiel fรผr ein Tupel und eine benutzerdefinierte Funktion, um zu veranschaulichen, wie eine Sortierfunktion mit Schlรผsselparametern dabei hilft, die Elemente in einem Tupel zu sortieren:
Python Code:
base_list = [('Alto', 2020, 500),('MSFT', 2022, 300),('Guru99', 2019, 1070)] def get_key(base_list): return base_list[2] base_list.sort(key=get_key,reverse=True) print("The change in base list is as follows",base_list)
Ausgang:
The change in the base list is as follows [('Guru99', 2019, 1070), ('Alto', 2020, 500), ('MSFT', 2022, 300)]
Code Erlรคuterung:
- Der Parameter โreverseโ wird als โtrueโ definiert, um das Tupel in absteigender Reihenfolge zu sortieren.
- Die angepasste Funktion รผbernimmt das zweite Element des Tupels.
- Dies wird als Schlรผssel der Sortierfunktion verwendet.
Schauen wir uns das folgende Beispiel an, das den Lambda-Ausdruck verwendet:
Python Code:
base_list = [('Alto', 2020, 500), ('MSFT', 2022, 300), ('Guru99', 2019, 1070)] base_list.sort(key=lambda base_list:base_list[2],reverse=True) print("The change in base list is as follows",base_list)
Ausgang:
The change in the base list is as follows [('Guru99', 2019, 1070), ('Alto', 2020, 500), ('MSFT', 2022, 300)]
Erlรคuterung:
- Der Lambda-Ausdruck hilft Ihnen, die Elemente des Tupels von hoch nach niedrig zu sortieren, wobei der Schlรผssel das zweite Element des Tupels ist.
- Das Programm prรผft den hรถchsten Wert des zweiten Elements des Tupels.
Sortieren von Listenelementen mit Len als Schlรผsselparameter
Len ist eine integrierte Funktion, die die Lรคnge eines Elements ermittelt. Die ermittelte Lรคnge kann fรผr die Indizierung in der Sortierfunktion verwendet werden. Dazu weisen wir Len der Funktion zu. Python Schlรผsselparameter der Sortierfunktion.
Folgende Python Der Code veranschaulicht, wie die Len-Funktion mit der Sortierfunktion verwendet wird.
Python Code:
base_list=["Alto", "Guru99", "Python", "Google", "Java"] base_list.sort(key=len) print("The sorted list based on length:",base_list)
Ausgang:
The sorted list based on length: ['Alto', 'Java', 'Guru99', 'Python', 'Google']
Code Erlรคuterung:
- Die Lรคnge des Elements wird zum Index fรผr den Schlรผsselparameter, um die Liste in aufsteigender Reihenfolge anzuordnen.
- Die Len-Funktion schรคtzt die Lรคnge jedes in der Basisliste vorhandenen Elements.
- Das kรผrzeste Element bleibt auf der linken Seite und das grรถรte Element auf der rechten Seite.
- Hier haben die Wรถrter โaltoโ und โjavaโ eine Lรคnge von 4 und stehen an erster Stelle in der Liste, gefolgt von Guru99, das eine Lรคnge von 6 hat.
Dieses Beispiel veranschaulicht das Konzept des umgekehrten Parameters in der Sortierfunktion, wie unten dargestellt:
Python Code:
base_list=["Alto", "Guru99", "Python", "Google", "Java"] base_list.sort(key=len,reverse=True) print("The sorted list based on length:",base_list)
Ausgang:
The sorted list based on length: ['Guru99', 'Python', 'Google', 'Alto', 'Java']
Sortieren von Listenelementen mithilfe einer benutzerdefinierten Funktion als Schlรผsselparameter
Sie kรถnnen auch eine benutzerdefinierte Funktion als Schlรผsselparameter verwenden, um eine Liste zu sortieren. Hier ist ein Beispiel:
Python Code:
base_list = [{'Example':'Python','year':1991},{'Example':'Alto','year':2014},{'Example':'Guru99', 'year':1995},
{'Example':'Google','year':1985},{'Example':'Apple','year':2007},{'Example':'Emails','year':2010},]
def get_year(element):
return element['year']
base_list.sort(key=get_year)
print("The base list after sorting using explicit criteria",base_list)
Ausgang:
The base list after sorting using explicit criteria [{'Example': 'Google', 'year': 1985}, {'Example': 'Python', 'year': 1991}, {'Example': 'Guru99', 'year': 1995}, {'Example': 'Apple', 'year': 2007}, {'Example': 'Emails', 'year': 2010}, {'Example': 'Alto', 'year': 2014}]
Code Erlรคuterung:
- Es wird eine benutzerdefinierte Funktion erstellt, um das Jahr zurรผckzugeben
- Der Schlรผsselparameter verwendet eine benutzerdefinierte Funktion als Kriterium.
- Die Sortierfunktion ordnet die Liste in aufsteigender Reihenfolge basierend auf dem Wert des Elements โJahrโ.
Unterschied zwischen der Sortiermethode und der sortierten Methode in Python
Nachdem wir die obigen Beispiele durchgegangen sind, ist es hilfreich, die beiden Sortierwerkzeuge direkt zu vergleichen. Bevor wir die Unterschiede zusammenfassen, wollen wir die Syntax der Sorted-Methode verstehen.
Python Syntax:
sorted (list_name, reverse=โฆ., key=..)
Code Erlรคuterung:
- Die Sortierfunktion sortiert die Liste entweder in aufsteigender oder absteigender Reihenfolge.
- Die Funktion akzeptiert drei Parameter, von denen zwei Parameter einen optionalen Typ und ein Parameter den erforderlichen Typ haben.
- Der Parameter list_name ist erforderlich, wenn die Sorted-Methode verwendet wird.
- Die Sorted-Methode kann jede Art von iterierbarer Liste als Eingabe verwenden.
- Schlรผsselparameter und umgekehrte Parameter sind optionale Parameter bei der sortierten Methode in Python.
Hier ist ein Beispiel fรผr die Verwendung der Funktion sort und sortiert in Python:
Python Code:
#Use of the Sorted method Base_list=[11,10,9,8,7,6] print("the original list is",Base_list) New_list=sorted(Base_list) print("the New list using sorted method is",New_list) #Use of the Sort method Base_list=[11,10,9,8,7,6] print("the original list is",Base_list) New_list=Base_list.sort() print("the New list using sort method is",New_list)
Ausgang:
the original list is [11, 10, 9, 8, 7, 6] the new list using the sorted method is [6, 7, 8, 9, 10, 11] the original list is [11, 10, 9, 8, 7, 6] the new list using the sort method is None
Code Erlรคuterung:
- Die Originalliste wird als erforderlicher Parameter fรผr die Sortierfunktion รผbergeben.
- Die Sorted-Methode gibt neben der ursprรผnglichen Liste eine neue Liste zurรผck.
- Da der Sortiermethode keine zusรคtzlichen Parameter รผbergeben werden, wird die neue Liste standardmรครig in aufsteigender Reihenfolge sortiert.
- Die Sortierfunktion erstellt keine neue Liste.
Im Folgenden werden die wichtigsten Gemeinsamkeiten und Unterschiede aufgefรผhrt:
| Sortierte Funktion | Sortierfunktion |
|---|---|
| Sortierte Funktion in Python ist eine integrierte Funktion, die โlist_nameโ als erforderlichen Parameter verwendet. | Die Sortierfunktion verwendet nicht die Originalliste als Parameter. |
| Die sortierte Methode gibt eine neue Liste zurรผck | Die Sortierfunktion gibt keine neue Liste zurรผck |
| Fรผr iterierbare Listen sollte die sortierte Funktion verwendet werden | Die Sortierfunktion sollte fรผr nicht iterierbare Listen verwendet werden. |
| Die Originalliste wird dadurch nicht verรคndert und wir kรถnnen die Originaldaten beibehalten. | Die Sortierfunktion modifiziert die ursprรผngliche Funktion und belegt daher weniger Speicherplatz |
Wann sollte die sortierte Methode oder die Sortiermethode verwendet werden?
Nehmen wir ein Beispiel, bei dem Renndaten sortiert werden mรผssen. Das Programm verwendet die Startnummer und die benรถtigte Zeit in Sekunden, um das Rennen zu beenden.
Python Code:
from collections import namedtuple Base = namedtuple('Runner', 'bibnumber duration') blist = [] blist.append(Base('8567', 1500)) blist.append(Base('5234', 1420)) blist.append(Base('2344', 1600)) blist.append(Base('2342', 1490)) blist.append(Base('23444', 1620)) blist.append(Base('6674', 1906)) print("original list",blist) blist.sort(key=lambda x: getattr(x, 'duration')) top_five_result = blist[:5] print("Results using sort function",top_five_result) r_blist=sorted(blist,key=lambda x: getattr(x, 'duration')) top_five_result = r_blist[:5] print("Results using sorted function",top_five_result)
Ausgang:
original list [Runner(bibnumber='8567', duration=1500), Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='23444', duration=1620), Runner(bibnumber='6674', duration=1906)] Results using sort function [Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='8567', duration=1500), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='23444', duration=1620)] Results using sorted function [Runner(bibnumber='5234', duration=1420), Runner(bibnumber='2342', duration=1490), Runner(bibnumber='8567', duration=1500), Runner(bibnumber='2344', duration=1600), Runner(bibnumber='23444', duration=1620)]
Code Erlรคuterung:
- Die Basisliste wird sowohl mit der Sortierfunktion als auch mit der Sortierfunktion sortiert.
- Die Basisliste geht verloren, wenn die Sortierfunktion angewendet wird.
- Die Sortierfunktion sollte nicht auf den Originaldatensatz angewendet werden. Es sollte verwendet werden, wenn eine Kopieversion des Originaldatensatzes vorhanden ist.
- Die Funktion Sorted behรคlt die ursprรผngliche Liste bei. Es รผberschreibt es nicht.
- Dies bietet bessere tracEffizienz und effektives Datenmanagement.

