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)
测试结果:
假设定义一字典,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 比较字典value的最大值的文章就介绍到这了,更多相关python 字典value最大值内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!