Сообщить об ошибке.

Функция nlargest() модуля heapq в Python

Получить n самых больших элементов из набора данных

Синтаксис:

import heapq

heapq.nlargest(n, iterable, key=None)

Параметры:

  • n - int, количество самых больших элементов,
  • iterable - итерируемая последовательность,
  • key=None - функцию с одним аргументом.

Возвращаемое значение:

Описание:

Функция nlargest() модуля heapq возвращает список с n самыми большими элементами из набора данных, определенного с помощью итерируемой последовательности iterable.

Аргумент key, если он указан, определяет функцию с одним аргументом, которая используется для извлечения ключа сравнения из каждого элемента в итерируемой последовательности iterable, например key=str.lower. Значением по умолчанию является None, что означает сравнение элементов напрямую.

Функция nlargest() эквивалентна вызову sorted(iterable, key=key, reverse=True)[:n].

Работает лучше для маленьких значений n. Для больших значений более эффективно использовать функцию sorted(). Также, когда n=1, более эффективно использовать встроенную функцию max().

Если требуется повторное использование функции heapq.nlargest(), рассмотрите возможность преобразования последовательности iterable в реальную кучу.

#### Примеры использования:

>>> import heapq
>>> seq = [100, 2, 400, 500, 400]
>>> heapq.nlargest(2, seq)
# [500, 400]
>>> heapq.nlargest(2, enumerate(seq), key=lambda x: x[1])
# [(3, 500), (2, 400)]