Sortieren mit Lambda in Python

Manav Narula 22 Juni 2021
Sortieren mit Lambda in Python

In Python stehen die Funktionen sorted() und sort() zum Sortieren einer Liste zur Verfügung.

Mit diesen Funktionen können wir die Liste in der gewünschten Reihenfolge sortieren. Standardmäßig können wir die Liste in absteigender oder aufsteigender Reihenfolge sortieren.

Wir können in diesen Funktionen auch einen Parameter verwenden, nämlich den Parameter key. Es ermöglicht uns, unsere eigene Sortierreihenfolge zu erstellen. In diesem Parameter können wir die Funktionen lambda verwenden, um unsere eigene einzeilige Funktion zu erstellen.

Beispielsweise,

lst = ["id01", "id10", "id02", "id12", "id03", "id13"]
lst_sorted = sorted(lst, key=lambda x: int(x[2:]))
print(lst_sorted)

Ausgabe:

['id01', 'id02', 'id03', 'id10', 'id12', 'id13']

Im obigen Beispiel haben wir eine Liste von IDs, bei denen jeder Nummer die Buchstaben id vorangestellt sind. Im Parameter key geben wir eine Funktion lambda an, die angibt, dass die ersten beiden Zeichen (id) ignoriert und die Liste sortiert werden müssen.

Es gibt auch andere Möglichkeiten, wie wir die lambda-Funktionen zum Sortieren verwenden können.

Beispielsweise,

lst = [("Mark", 1), ("Jack", 5), ("Jake", 7), ("Sam", 3)]
lst_sorted = sorted(lst, key=lambda x: x[1])
print(lst_sorted)

Ausgabe:

[('Mark', 1), ('Sam', 3), ('Jack', 5), ('Jake', 7)]

Im obigen Beispiel haben wir eine Liste von Tupeln. Das Tupel besteht aus einem Namen und einer Nummer. In der Funktion lambda geben wir die zu sortierende Funktion basierend auf dem zweiten Element des Tupels an, dh der Zahl.

Beachten Sie, dass wir die Reihenfolge mit dem Parameter reverse in absteigend ändern und auf True setzen können.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Python Sort