脚本专栏 
首页 > 脚本专栏 > 浏览文章

python 比较字典value的最大值的几种方法

(编辑:jimmy 日期: 2025/1/16 浏览:3 次 )

python中获取字典的key列表和value列表

# -*- coding: utf-8 -*-
# 定义一个字典
dic = {'剧情': 11, '犯罪': 10, '动作': 8, '爱情': 3, '喜剧': 2, '冒险': 2, '悬疑': 2, '惊悚': 2, '奇幻': 1}
#通过list将字典中的keys和values转化为列表
keys = list(dic.keys())
values = list(dic.values())
# 结果输出
print("keys列表为:",end='')
print(keys)
print("values列表为:",end='')
print(values)

测试结果:

python 比较字典value的最大值的几种方法

假设定义一字典,m = {"a":3,"e":6,"b":2,"g":7,"f":7,"c":1,"d":5},在不知道key的情况下如何找出字典中value最大的所有key-value对?下面讨论几种方法。

1)通过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

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

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

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

3)通过map()函数

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

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

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

5)通过max()函数指定key函数

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

6)通过zip()和max()函数

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

7)通过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]
上一篇:python matplotlib实现将图例放在图外
下一篇:Python3 selenium 实现QQ群接龙自动化功能
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。