我必須在名為的字典中找到最大值fav_num:
fav_num = {
"Ian": 3.14,
"Tobiloba": 5,
"Kaden": 10,
"Sophie": 18,
"Aarav": 17,
"Zach": 6,
"Ewen": 64,
"Nirvana": 25,
"Arjun": 3.14,
"Olivia": 7,
}
max = 0
for value in fav_num:
if fav_num[value] > max:
max = value
print(max)
我必須使用一個回圈,所以我設定 max 等于 0 并且對于每個值,它將它與前一個值進行比較。它給了我這個錯誤:
'>' not supported between instances of 'int' and 'str'
fav_num[value] 不列印key的對應值嗎?
uj5u.com熱心網友回復:
使用max()帶key引數的函式獲取最大值對應的key:
max(fav_num, key=fav_num.get)
如果必須使用for回圈,則可以跟蹤最大值和與該值對應的鍵:
result = None
max_value = float('-inf')
for key, value in fav_num.items():
if value > max_value:
result = key
max_value = value
print(result)
這些輸出:
Ewen
uj5u.com熱心網友回復:
您需要使用不同的方法來查找字典中具有值的鍵。
我提供的解決方案只是將最大值與字典值中的最大值進行比較。
fav_num = {
"Ian": 3.14,
"Tobiloba": 5,
"Kaden": 10,
"Sophie": 18,
"Aarav": 17,
"Zach": 6,
"Ewen": 64,
"Nirvana": 25,
"Arjun": 3.14,
"Olivia": 7,
for k, v in fav_num.items():
if v==max(fav_num.values()):
print(k)
結果
Ewen
或者
Python 可以使用索引來保持字典的順序。
比較麻煩,但是有以下幾種方式。
查找索引
max_ = list(fav_num.values()).index(max(fav_num.values()))
2.使用索引查找值
list(fav_num.keys())[max_]
結果
Ewen
uj5u.com熱心網友回復:
方法1:迭代專案
您可以遍歷字典的每個專案值對并找到最大值并將其回傳
for name, value in fav_num.items():
if value == max(fav_num.values()):
print(name, value)
方法2:單線
您可以在值串列中找到最大值,然后為其獲取相應的鍵
list(fav_num.keys())[list(fav_num.values()).index(max(fav_num.values()))]
您可以訪問此頁面以獲取有關字典函式的更多資訊:Python 字典方法
One-Liner 代碼的靈感來自此頁面:One liner to get keys from values
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/468591.html
