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最大值。

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.keys(),m.values())
4 print max(zip(m.keys(),m.values()))

 

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))))。

轉載於:https://www.cnblogs.com/muchengnanfeng/p/9810918.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM