Durch Sortieren einer Liste in Python können Sie die Elemente in aufsteigender oder absteigender Reihenfolge anordnen.
Anstatt dafür lange Codeblöcke zu schreiben, verfügt Python über eine integrierte Methode, mit der Sie die Elemente in einer beliebigen Liste oder einem beliebigen Array sortieren können. Wir werden in diesem Beitrag erklären, wie das geht.
So sortieren Sie eine Liste in Python
Sie können die Elemente in einer Liste oder einem Array mit Python sortieren Sortieren() Methode.
Das Sortieren() Die Methode in Python akzeptiert zwei optionale Argumente und die Syntax sieht folgendermaßen aus:
list.sort (key = function, reverse = True / False)
Standardmäßig ist die Sortieren() Methode ordnet die Elemente einer Liste in aufsteigender Reihenfolge:
myList = ["C", "D", "B", "A", "F"]
myList.sort ()
print (myList)
Ausgabe: ['A', 'B', 'C', 'D', 'F']
Du kannst den... benutzen umkehren Argument zum Anzeigen der Liste in absteigender Reihenfolge:
myList = ["C", "D", "B", "A", "F"]
myList.sort (reverse = True)
print (myList)
Ausgabe: ['F', 'D', 'C', 'B', 'A']
Sie können die Elemente in einer Liste auch nach der Länge jeder Zeichenfolge anordnen.
Erstellen Sie dazu eine Funktion und übergeben Sie sie an die Sortieren() Methode mit der optionalen Schlüssel Streit:
myList = ["MUO", "Python", "JavaScript", "Sortieren", "Sortierlisten"]
def sortLength (item):
Rückgabe len (Artikel)
myList.sort (reverse = True, key = sortLength)
print (myList)
Ausgabe: ['JavaScript', 'Sortierlisten', 'Python', 'Sortieren', 'MUO']
So sortieren Sie eine Liste von Wörterbüchern in Python
Du kannst den... benutzen Sortieren() Methode zum Sortieren einer Liste von Wörterbüchern.
Sortieren wir die Aufgaben im folgenden Wörterbuch nach ihrer Zeit:
myArray = [
{"Aufgabe": "Waschen", "Zeit": 12.00},
{"Aufgabe": "Fußball", "Zeit": 24.00},
{"Aufgabe": "Sortieren", "Zeit": 17.00},
{"Aufgabe": "Code", "Zeit": 15.00}
]
def sortByTime (item):
Rückgabeposten ["Zeit"]
myArray.sort (key = sortByTime)
drucken (myArray)
Da die Zeitwerte Ganzzahlen sind, ordnet der obige Codeblock das Array basierend auf der Taskzeit neu an.
Verbunden: Funktionsweise von Arrays und Listen in Python
Zusätzlich zur Sortierung des Arrays nach Zeit können Sie es auch alphabetisch mithilfe der Aufgaben anordnen, bei denen es sich um Zeichenfolgen handelt.
Um im Beispielarray nach Zeichenfolgen zu sortieren, müssen Sie nur Änderungen vornehmen Zeit in der eckigen Klammer zu Aufgabe:
myArray = [
{"Aufgabe": "Waschen", "Zeit": 12.00},
{"Aufgabe": "Fußball", "Zeit": 24.00},
{"Aufgabe": "Sortieren", "Zeit": 17.00},
{"Aufgabe": "Code", "Zeit": 15.00}
]
def sortByTime (item):
Rückgabeposten ["Aufgabe"]
myArray.sort (key = sortByTime)
drucken (myArray)
Sie können die Aufgaben auch in umgekehrter Reihenfolge sortieren, indem Sie sie einstellen umkehren zu wahr:
myArray.sort (key = sortByTime, reverse = True)
Du kannst auch Verwenden Sie eine Lambda-Funktion mit Sortieren() für saubereren Code:
myArray.sort (key = lambda getTime: getTime ["Time"])
drucken (myArray)
So sortieren Sie eine verschachtelte Python-Liste
Sie können eine verschachtelte Liste von Tupeln nach dem Index jedes verschachtelten Elements in dieser Liste sortieren.
Im folgenden Code wird beispielsweise das dritte Element in jedem Tupel verwendet, um die Liste in aufsteigender Reihenfolge zu sortieren:
Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex (a):
gib ein [2] zurück
Alist.sort (key = sortByThirdIndex)
Drucken (Alist)
Ausgabe: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
In der obigen Ausgabe erhöht sich das dritte Element in jedem Tupel nacheinander von null auf zwanzig.
Beachten Sie, dass dies mit einem Python-Set nicht funktioniert, da Sie es nicht indizieren können. Darüber hinaus muss jedes Nest in der Liste zum selben Datentyp gehören.
Verbunden: Was ist ein Set in Python und wie erstelle ich eines?
So ordnen Sie die Ausgabe jedoch in absteigender Reihenfolge an:
Alist.sort (key = getIndex, reverse = True)
Drucken (Alist)
Ausgabe: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]
Mal sehen, wie das mit a aussieht Lambda Funktion auch:
Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sortiert (Alist, key = lambda a: a [2])
print (newList)
Ausgabe: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
So sortieren Sie eine Liste mit der Sorted () -Methode
Alternativ können Sie die verwenden sortiert () Methode.
Obwohl es ähnlich funktioniert wie das Sortieren() Methode erstellt es eine neue sortierte Liste, ohne das Original zu ändern. Das Syntaxlayout unterscheidet sich ebenfalls geringfügig.
Die Syntax für die sortiert () Methode sieht im Allgemeinen so aus:
sortiert (Liste, Taste = Funktion, Umkehrung = Richtig / Falsch)
So sortieren Sie eine Liste mit dem sortiert () Methode müssen Sie eine neue Variable für die sortierte Liste erstellen:
Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex (a):
gib ein [2] zurück
newList = sortiert (Alist, key = getIndex)
print (newList)
Ausgabe: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
Das sortiert () Methode akzeptiert auch a Lambda Funktion als Schlüssel:
Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sortiert (Alist, key = lambda a: a [2])
print (newList)
Ausgabe: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
Wo können Sie die Listensortierung anwenden?
Für eine effiziente Programmierung ist ein solides Verständnis der Python-Sortiermethode erforderlich. Sie können damit steuern, wie eine Liste oder ein Array durchläuft, und Sie können sie jederzeit in realen Projekten anwenden. Das Sortieren einer Python-Liste kann beispielsweise nützlich sein, wenn Sie Daten aus einer API oder einer Datenbank neu anordnen, sodass dies für einen Endbenutzer sinnvoller ist.
Arbeiten mit Listen in Python? Folgendes müssen Sie über die Verwendung der Python-Append-Funktion wissen, wenn Sie mit Listen arbeiten.
Weiter lesen
- Programmierung
- Python
- Codierungs-Tutorials
Idowu ist begeistert von intelligenter Technologie und Produktivität. In seiner Freizeit spielt er mit dem Programmieren und wechselt zum Schachbrett, wenn er sich langweilt, aber er liebt es auch, ab und zu von der Routine abzubrechen. Seine Leidenschaft, Menschen den Weg in die moderne Technik zu zeigen, motiviert ihn, mehr zu schreiben.
Abonnieren Sie unseren Newsletter
Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!
Noch ein Schritt…!
Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.