Verstehen der Syntax von sortiert(key=lambda: ...)` zum Sortieren von Listen
Die Funktion sorted() in Python bietet Folgendes eine prägnante Möglichkeit, eine Liste zu sortieren. Beim Sortieren komplexer Listen mit verschachtelten Elementen oder Tupeln können Sie die Sortierung mithilfe des Schlüsselarguments anpassen.
Lambda-Funktionssyntax
Die Lambda-Funktion im Schlüsselargument ist eine anonyme Funktion, die angibt, wie das Sortierkriterium für jedes Element in der Liste abgeleitet werden soll. Seine Syntax lautet:
lambda input_variable(s): expression
Zum Beispiel:
<code class="python">f = lambda x: x + 1 f(10) # Returns 11</code>
Schlüsselfunktion in sorted()
Im Kontext von sorted() die durch key=lambda angegebene Schlüsselfunktion wird auf jedes Element in der Liste angewendet und die Ergebnisse werden zur Bestimmung der Sortierreihenfolge verwendet. Die von der Lambda-Funktion zurückgegebenen Werte fungieren als Ersatzwerte für die Sortierung.
Mit diesem Mechanismus können Sie die Originalliste nach einer bestimmten Eigenschaft oder einem Merkmal jedes Elements und nicht nach den Elementen selbst sortieren. Sie können beispielsweise eine Liste von Tupeln nach ihrem zweiten Element sortieren:
<code class="python">mylist = [(3, 5, 8), (6, 2, 8), (2, 9, 4), (6, 8, 5)] sorted(mylist, key=lambda x: x[1]) # Output: [(6, 2, 8), (3, 5, 8), (6, 8, 5), (2, 9, 4)] # Sorted by the second element of each tuple</code>
Boolesche Werte und Sortierung
Wenn die Schlüsselfunktion einen booleschen Wert zurückgibt, wird der Die Sortierung basiert auf der Wahrhaftigkeit des Werts. Elemente mit True-Werten werden vor denen mit False-Werten platziert. Beachten Sie jedoch, dass die ursprüngliche Reihenfolge der Elemente mit demselben Wahrheitswert beibehalten wird:
<code class="python">mylist = [3, 6, 3, 2, 4, 8, 23] sorted(mylist, key=lambda x: x % 2 == 0) # Output: [3, 3, 23, 6, 2, 4, 8] # Odd numbers (False) come before even numbers (True) # Even numbers remain in their original order</code>
Verwendung des Schlüssels für komplexe Datenstrukturen
Die Schlüsselfunktion kann sein Wird mit komplexen Datenstrukturen verwendet, um bestimmte Attribute zu extrahieren und zu vergleichen. Betrachten Sie beispielsweise eine Liste von Wörterbüchern, die Schüler repräsentieren:
<code class="python">students = [ {'name': 'John', 'age': 20}, {'name': 'Alice', 'age': 22}, {'name': 'Bob', 'age': 18}, ]</code>
Um Schüler mithilfe der Funktion sorted() nach Alter zu sortieren, können Sie das Schlüsselargument mit einer Lambda-Funktion verwenden:
<code class="python">sorted(students, key=lambda x: x['age'])</code>
Diese Lambda-Funktion extrahiert das Altersattribut aus jedem Wörterbuch und gibt es zurück, sodass die Elemente nach Alter sortiert werden können.
Das obige ist der detaillierte Inhalt vonWie funktioniert die Funktion „sorted(key=lambda: ...)' zum Sortieren von Listen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!