Python: взять максимум N элементов из некоторого списка

Есть ли какая-нибудь функция, которая вернет мне N самых высоких элементов из некоторого списка?

То есть, если max (l ) возвращает единственный самый высокий элемент, sth. например, max (l, count = 10) вернет мне список из 10 самых высоких чисел (или меньше, если l меньше).

Или какой эффективный простой способ получить их? (За исключением очевидной канонической реализации; кроме того, нет таких вещей, которые предполагали бы сначала сортировку всего списка, потому что это было бы неэффективно по сравнению с каноническим решением.)

35
задан Albert 18 November 2010 в 13:54
поделиться