例如,我有一個這樣的字典:
sampleDict = {0: 0, 1: 10, 2: 2, 3: 3, 4: 4}
我知道我可以使用該get()
函式來獲取特定鍵的值,但是有沒有辦法以有條件的方式做相反的事情?
例如,如果我想在sampleDict
. 是否有一個好的函式或一組函式可以用來快速有效地獲得該值?我已經嘗試過快速的谷歌搜索,但我沒有想出我想要的。在這個例子中,我想接收這個數字1
,因為 key1
的值是字典中的最大值。
uj5u.com熱心網友回復:
要獲得最大值,您可以使用max()
內置函式:
sampleDict = {0: 0, 1: 10, 2: 2, 3: 3, 4: 4}
max_key = max(sampleDict, key=sampleDict.get)
print(max_key)
印刷:
1
uj5u.com熱心網友回復:
這將回傳具有您搜索的值的鍵陣列。
keys = [k for k, v in sampleDict.items() if v == value]
print(keys)
uj5u.com熱心網友回復:
您可以使用回圈來查找與最大值匹配的鍵:
sampleDict = {0: 0, 1: 10, 2: 2, 3: 3, 4: 4}
def foo(sampleDict):
m = max(sampleDict.values())
for k, v in sampleDict.items():
if v == m:
return k
print(foo(sampleDict))
結果:1
這顯然不考慮任何重復最大值。它只是找到與最大值匹配的第一個值。
在性能方面,這假設輸入大小不是很大。
如果我們需要提高效率,我們可以在迭代時計算最大值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/487954.html
標籤:Python python-3.x 字典 钥匙 核心价值