【发布时间】:2019-03-23 02:33:20
【问题描述】:
我想从带有函数和 for 循环的字典中获取最大值和对应的键。这是我的代码:
Autolager = {'Audi' : 9, 'BMW' : 11, 'Mercedes' : 8}
def Maxlagerbestand(Autolager):
MaxAutoValue = 0
MaxAutoName = None
for i in Autolager:
if Autolager[i] > MaxAutoValue:
MaxAutoValue = Autolager[i]
MaxAutoName = [k for k, v in Autolager.items() if v == MaxAutoValue]
return (MaxAutoValue, MaxAutoName)
print (Maxlagerbestand(Autolager))
然后输出是 (9, ['Audi']) 但它应该是 (11, ['BMW])
我什至在没有功能的情况下检查了它:
MaxAutoValue = 0
for i in Autolager:
if Autolager[i] > MaxAutoValue:
MaxAutoValue = Autolager[i]
print (MaxAutoValue)
这里的输出正确地用 11 给出。
我上面的代码出了什么问题?我很感谢任何提示。
【问题讨论】:
-
您在
for循环结束时立即返回。
标签: python function dictionary for-loop key-value