本博客免费发布Selenium、Appium、RobotFramework自动化测试,Loadrunner、JMeter性能测试,接口测试等测试技术文章,欢迎大家持续关注,如遇到问题可留言或关注下方的微信公众号,或加入我们的QQ群,来这里分享经验、交流技术、结交朋友、拓展视野、一起奋斗!

假设定义一字典,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最大值。

1 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

1 values = m.values()
2 values.sort()
3 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

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

 

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

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

 

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

1 print m.keys()
2 print m.values()
3 print zip(m.values(),m.keys()) 
4 print max(zip(m.values(),m.keys()))

 

7)通过sorted()函数

1 print sorted(m.items(), key=lambda x: x[1])
2 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))))。

posted on 2018-10-18 15:42  慕城南风  阅读(25570)  评论(0编辑  收藏  举报

本博客免费发布Selenium、Appium、RobotFramework自动化测试,Loadrunner、JMeter性能测试,接口测试等测试技术文章,欢迎大家持续关注,如遇到问题可留言或关注左侧的微信公众号,或加入我们的QQ群,来这里分享经验、交流技术、结交朋友、拓展视野、一起奋斗!