В конечном счете, я хочу, чтобы я попытался вернуть список десятков «пунктов» на основе их результатов. Я пытаюсь реализовать приоритет очереди сортов с использованием heapq, и до сих пор, что у меня есть:Получение значений с помощью heapq.nlargest() на основе первого значения в кортеже
class my_queue:
# heap-based priority queue for top items
def __init__(self):
self.top_items = []
def push_item(self, item):
score = item.get_score()
item_name = item.get_name()
heapq.heappush(self.top_items, (score, item_name))
def top_ten(self):
top_ten_items = heapq.nlargest(10, self.top_items, key=lambda s: s[0])
print top_ten_items
Что я делаю с key=lambda s: s[0]
пытается разобраться в куче, основанный на score
из (score, item_name)
. Есть ли простой способ сделать это на основе структуры, которую я здесь?
Спасибо.