NISHIO Hirokazu[日本語][English]

Best Kの取得

from heapq Best Kの取得

  • サイズがkを超えたらpop python
from random import shuffle
xs = list(range(100))
shuffle(xs)
K = 3
queue = xs[:K]
heapify(queue)
for x in xs[K:]:
    heappush(queue, x)
    heappop(queue)
print(queue)  # => [97, 98, 99]

(C)NISHIO Hirokazu / Converted from Markdown (ja)
Source: [GitHub] / [Scrapbox]