Python Liste sort() mit Beispielen
Was ist die sort()-Methode in Python?
Sortierfunktion in Python hilft beim Sortieren einer Liste in aufsteigender oder absteigender Reihenfolge. Es kann zum Sortieren einer numerischen Liste, von Tupeln und einer Zeichenfolgenliste verwendet werden. Es erstellt keine separate Liste, sondern รคndert oder sortiert das Original.
Syntax der Sort-Methode in Python
Die Sortierfunktion hat die folgende Syntax: โ
List.sort(key=โฆ, reverse=โฆ)
Die Sortierfunktion verfรผgt รผber zwei optionale Parameter, nรคmlich wie unten aufgefรผhrt: โ
- Schlรผssel: โ Dies wird verwendet, um eine Funktion basierend auf einem Sortierkriterium zu sortieren.
- Reverse: โ der Wert wird entweder als true oder als false angenommen. Wenn 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-Erklรคrung:
- 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.
Schauen wir uns das folgende Beispiel an: โ
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. Nachfolgend finden Sie die Syntax fรผr den Lambda-Ausdruck: โ
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 beim Sortieren der Elemente in einem Tupel hilft:-
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-Erklรคrung:
- 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 eingebaute Funktion, die die Lรคnge des Elements bestimmt. Die ermittelte Lรคnge kann fรผr die Indizierung in der Sortierfunktion verwendet werden. Dazu weisen wir Len dem 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-Erklรคrung:
- 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 in der Liste an erster Stelle, gefolgt von Guru99 mit einer Lรคnge von 6.
Dieses Beispiel veranschaulicht das Konzept des Reverse-Parameters in der Sortierfunktion wie unten gezeigt: โ
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 zum Sortieren einer Liste verwenden. 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-Erklรคrung:
- 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
Bevor wir die Unterschiede zusammenfassen, wollen wir uns mit der Syntax der Sorted-Methode befassen.
Python Syntax:
sorted (list_name, reverse=โฆ., key=..)
Code-Erklรคrung:
- 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 wie unten gezeigt: โ
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-Erklรคrung:
- 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 sind die wichtigsten รhnlichkeiten 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-Erklรคrung:
- 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 eine bessere Rรผckverfolgbarkeit und ein effektives Datenmanagement.
Fazit
- Die Sortierfunktion hilft beim Sortieren einer numerischen und Zeichenfolgenliste in Python.
- Es kann auch beim Sortieren von Tupeln hilfreich sein.
- Reverse und key sind optionale Parameter der Funktion.
- Wenn eine separate Liste und gleichzeitig die Originalliste erforderlich sind, muss die Sortierfunktion verwendet werden, andernfalls muss die Sortierfunktion verwendet werden, um eine optimierte Speichernutzung zu erreichen.

