Python 字典中找到 Value 最大值最小值的几种方法

已关闭留言

Python 字典 dict() 是非常常用的数据类型,也经常需要求字典的一些最大最小值,本文老唐转载整理一下在字典中寻找最大最小值的方法。假设定义一字典,m = {"a":3,"e":6,"b":2,"g":7,"f":7,"c":1,"d":5},在不知道key的情况下如何找出字典中 value 最大的所有 key-value 对?下面讨论几种方法。

原文链接:

https://www.cnblogs.com/muchengnanfeng/p/9810918.html

文章目录
隐藏
一、通过 m.values() 和 max() 函数
二、通过 sort() 函数排序所有的 value
三、通过 map() 函数
四、通过 sort() 函数排序所有的 items
五、通过 max() 函数指定 key 函数
六、通过 zip() 和 max() 函数
七、通过 sorted() 函数

一、通过 m.values() 和 max() 函数

第一步,通过 max() 函数找到字典中的 value 最大值。

max(m.values())

结果为 7。

第二步,再通过 value=7 遍历字典找出所有 value=7 的键值对。

for key,value in m.items():
    if(value == max(m.values())):
        print key,value

二、通过 sort() 函数排序所有的 value

values = m.values()
values.sort()
print values[len(values)-1]

结果同样为7,其余步骤同 1)中的第二步

三、通过 map() 函数

keys = m.keys()
keys.sort()
ma=map(m.get,keys)
print ma[len(ma) - 1]

四、通过 sort() 函数排序所有的 items

# print m.items()
items = m.items()
items.sort(key=lambda x:x[1])
print items[len(items) - 1]

五、通过 max() 函数指定 key 函数

# print m.items()
print max(m.items(),key=lambda x:x[1])

六、通过 zip() 和 max() 函数

print m.keys()
print m.values()
print zip(m.keys(),m.values())
print max(zip(m.keys(),m.values()))

七、通过 sorted() 函数

print sorted(m.items(), key=lambda x: x[1])
print sorted(m.items(),key=lambda x:x[1])[len(sorted(m.items(),key=lambda x:x[1])) - 1]

另外,sorted(m, reverse=True) 等价于 list(reversed(sorted(reversed(m))))