我有一個包含閾值的字典和一個包含一些實際金額的字典。它并不總是包含來自最小閾值字典的所有鍵。
現在我想將實際金額與 minimumTresholds 進行比較,這是我想出的,但這不起作用
minimumTresholds = {'key 1' : 100, 'key 2' : 100, 'key 3' : 1000}
actualAmounts = {'key 1' : 237, 'key 3' : 903}
for k, v in actualAmounts.items():
if actualAmounts[k] == minimumTresholds[k] and actualAmounts[v] < minimumTresholds[v]:
print(actualAmounts[k])
預期的結果是:
'key 3'
有什么想法嗎?
uj5u.com熱心網友回復:
你的邏輯有問題。
if actualAmounts[k] == minimumTresholds[k] and actualAmounts[v] < minimumTresholds[v]:
您正在查找具有值的字典。actualAmounts[v] 將引發錯誤,因為該值不是該字典中的鍵。
您可以使用關鍵字檢查密鑰是否存在于另一個字典中in:
for key, value in actualAmounts.items():
if key in minimumTresholds and value < minimumTresholds[key]:
print(key)
uj5u.com熱心網友回復:
這應該作業:
minimumTresholds = {'key 1' : 100, 'key 2' : 100, 'key 3' : 1000}
actualAmounts = {'key 1' : 237, 'key 3' : 903}
for i in actualAmounts.keys() :
if i in minimumTresholds.keys() and actualAmounts[i] < minimumTresholds[i] :
print(i)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/431526.html
