Was ist die effizienteste, eleganteste und pythonischste Art, dieses Problem zu lösen?Wie man effizient die k größeren Elemente einer Liste in Python bekommt
Gegeben eine Liste (oder Menge oder was auch immer) von n Elementen, wir wollen die k größten bekommen. (Sie können k<n/2
ohne Beschränkung der Allgemeinheit annehmen, ich denke) Zum Beispiel, wenn die Liste waren:
l = [9,1,6,4,2,8,3,7,5]
n = 9, und wir k sagen = 3. Was ist der effizienteste Algorithmus ist für die 3 Abrufen die größten? In diesem Fall sollten wir [9,8,7]
, in keiner bestimmten Reihenfolge erhalten.
Danke! Manuel
+1 Jetzt, dass Grundzweck bedient wird, lassen Sie CODE- GOLF? –