我有一本看起来像这样的字典:
stats = {'a':1,'b':2,'c':2}
我需要生成一个具有最大值的字典......可以有联系:
max_only = {'b':2,'c':2}
生成值最大的新字典的最pythonic和最快的方法是什么?
我有一本看起来像这样的字典:
stats = {'a':1,'b':2,'c':2}
我需要生成一个具有最大值的字典......可以有联系:
max_only = {'b':2,'c':2}
生成值最大的新字典的最pythonic和最快的方法是什么?
首先,您需要确定最大值:
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]))
Almost the above answer:
new_stats = {}
for key,values in stats.items():
if values == max(stats.values()):
new_stats[key] = values