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)