0

我有一本看起来像这样的字典:

stats = {'a':1,'b':2,'c':2}

我需要生成一个具有最大值的字典......可以有联系:

max_only = {'b':2,'c':2}

生成值最大的新字典的最pythonic和最快的方法是什么?

4

2 回答 2

3

首先,您需要确定最大值:

max_value = max(stats.itervalues())

然后构建你的max_only字典:

max_only = {k: v for k, v in stats.iteritems() if v == max_value}

对于 Python 3,分别替换itervalues()iteritems()withvalues()items()

更容易找到一个最大的键值对:

dict(max(stats.iteritems(), key=lambda kv: kv[1]))
于 2013-03-24T17:27:35.763 回答
1
Almost the above answer:
new_stats = {}
for key,values in stats.items():
  if values == max(stats.values()):
    new_stats[key] = values
于 2013-03-24T18:03:33.853 回答