Я бы хотел получить из списка не менее 100000000 наименьших 100 элементов.
Я мог бы отсортировать весь список и просто взять последние 100 элементов из отсортированного списка, но это было бы очень дорого с точки зрения как памяти, так и времени.
Есть ли какой-либо существующий простой, питонический способ сделать это?
То, что я хочу, это следующая функция вместо чистой сортировки. На самом деле я не хочу тратить время на сортировку элементов, которые мне все равно.
Например, это функция, которую я хотел бы иметь:
getSortedElements(100, lambda x,y:cmp(x,y))
Обратите внимание, что это требование предназначено только для перспективы производительности.