1. 程式人生 > 程式設計 >python 比較字典value的最大值的幾種方法

python 比較字典value的最大值的幾種方法

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 比較字典value的最大值的文章就介紹到這了,更多相關python 字典value最大值內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!