查找字典中列表的最大值 - python

时间:2017-05-26 01:29:32

标签: python dictionary

我有一个字典,其键是一个整数,其值是一个列表。我想要返回一个新词典,其中前n个词典条目的值最低list[0]

例如,如果我有这样的字典

{1: [5, 'hello'], 2: [6, 'hi'], 3: [2, 'hey']} 

且n为2,它将返回

{1: [5, 'hello'], 3: [2, 'hey']}

1 个答案:

答案 0 :(得分:4)

这应该这样做:

from heapq import nsmallest
from operator import itemgetter

d = {1: [5, 'hello'], 2:[6, 'hi'], 3:[2,'hey']} 

smallestN = dict(nsmallest(2, d.items(), itemgetter(1)))

print(smallestN)

您也可以在不导入heapqitemgetter的情况下执行此操作:

smallestN = dict(sorted(d.items(), key=lambda x: x[1][0])[:2])