Python implementiert die Sortierung benutzerdefinierter Klassenobjekte (mithilfe von attrgetter)

不言
Freigeben: 2018-10-20 14:50:03
nach vorne
2406 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Python-Implementierung zum Sortieren benutzerdefinierter Klassenobjekte (mithilfe von attrgetter). Ich hoffe, dass er für Sie hilfreich ist.

1. Anforderungen

Sortieren Sie die Liste der benutzerdefinierten Klassen.

2. Lösung

Die integrierte Funktion sorted() akzeptiert einen Parameterschlüssel, der zum Übergeben eines aufrufbaren Objekts verwendet wird, und das aufrufbare Objekt gibt die bestimmten Werte in einem zurück Die Objekte werden sortiert und sorted verwendet diese Werte, um die Objekte zu vergleichen.

Instanz:

from operator import attrgetter
class User:
def __init__(self,userId):
self.userId=userId

def __repr__(self):
return 'User({})'.format(self.userId)

users=[User(40),User(20),User(30)]
print(users)

#方法1
print(sorted(users,key=lambda u:u.userId))

#方法2
print(sorted(users,key=attrgetter('userId')))
Nach dem Login kopieren

Laufendes Ergebnis:

[User(40), User(20), User(30)]
[User(20), User(30), User(40)]
[User(20), User(30), User(40)]
Nach dem Login kopieren

attrgetter ist normalerweise etwas schneller. Die obige Zählung gilt auch für die Funktionen min() und max().

Das obige ist der detaillierte Inhalt vonPython implementiert die Sortierung benutzerdefinierter Klassenobjekte (mithilfe von attrgetter). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!