Wie sortiere ich eine Liste von Objekten basierend auf einem Attribut der Objekte?
Sie können die sort
Methode einer Liste verwenden und ein key
Argument übergeben, das eine Funktion ist, die ein Objekt nimmt und den Wert zurückgibt, nach dem Sie die Liste sortieren möchten. Zum Beispiel, wenn Sie eine Liste von Objekten my_list
haben und jedes Objekt ein Attribut my_attribute
hat, können Sie die Liste anhand dieses Attributs sortieren, indem Sie folgendes tun:
my_list.sort(key=lambda x: x.my_attribute)
Dies sortiert die Liste in aufsteigender Reihenfolge anhand des Werts von my_attribute
. Um die Liste in absteigender Reihenfolge zu sortieren, können Sie das Argument reverse=True
übergeben:
my_list.sort(key=lambda x: x.my_attribute, reverse=True)
Alternativ können Sie die sorted()
Funktion in python verwenden, die eine Liste und eine Schlüsselfunktion entgegennimmt und eine sortierte Liste zurückgibt.
sorted_list = sorted(my_list, key=lambda x: x.my_attribute)