C'è qualche funzione che mi restituirà gli N elementi più alti da qualche lista?Python: prendi max N elementi da qualche lista
I.e. se max(l)
restituisce il singolo elemento più alto, sth. come max(l, count=10)
mi restituirebbe un elenco dei 10 numeri più alti (o meno se l
è più piccolo).
O quale sarebbe un modo semplice ed efficace per ottenere questi? (Tranne l'ovvia implementazione canonica, inoltre, nessuna di queste cose comporta l'ordinamento dell'intera lista perché sarebbe inefficiente rispetto alla soluzione canonica.)
Eventuali duplicati di http://stackoverflow.com/q/1034846/64633 – Rod
heapq.nlargest è il modo andare per liste veramente grandi, ma sul mio sistema, ordinato (l) [: count] è più veloce finché l'elenco raggiunge ~ 25000 elementi. –
ordinati (l, reverse = True) [0: N] –