¿Hay alguna función que me devolvería los N elementos más altos de alguna lista?Python: tome elementos N máximos de alguna lista
I.e. si max(l)
devuelve el elemento más alto, sth. como max(l, count=10)
me devolvería una lista de los 10 números más altos (o menos si l
es más pequeño).
¿O cuál sería una manera eficiente y fácil de conseguir esto? (Excepto la implementación canónica obvia; tampoco hay cosas que impliquen clasificar toda la lista primero porque sería ineficiente en comparación con la solución canónica).
duplicado Posible de http://stackoverflow.com/q/1034846/64633 – Rod
heapq.nlargest es el camino para ir a listas realmente grandes, pero en mi sistema, ordenado (l) [: count] es más rápido hasta que la lista alcanza ~ 25000 elementos. –
ordenado (l, reverso = verdadero) [0: N] –