取出字典中value最大值對應的key

ACE-Mayer發表於2020-11-05

第一種方法

prices = {
    'A':123,
    'B':450.1,
    'C':450.1,
    'E':444,
}

這個字典中

max_prices = max(zip(prices.values(), prices.keys()))
print(max_prices[1])

輸出:

'C'

第二種方法:使用dict內建函式

遍歷字典(dic),查詢所有“值”的最大值(key=dic.get(everykey)),返回該“值”的“鍵”(dic).

max(prices,key=prices.get)

輸出:

'B'

第三種方法:自定義函式

def find_key(dict_input):
    list_key=[]
    for i in range(len(list(dict_input.keys()))):
        if list(dict_input.values())[i]==max(list(dict_input.values())):
            list_key.append(list(dict_input.keys())[i])
    return list_key
list_key=find_key(prices)
list_key

輸出:

['B', 'C']

自定義函式可以取出所有最大value對應的key,而上兩種方法只能給出其中一個。

相關文章