有很多例子可以说明如何在dict中找到最大值。我很好奇为什么不能用这种方法找到最大键/值。
from random import randint
# Create dict with random keys and values.
d = {randint(1, 99): randint(1, 99) for i, j in enumerate(range(20))}
# Loop through dict to find max value
maxi = 0
for key in d:
if d[key] > maxi:
maxi = key
print(d, d[maxi])
目视检查d,可以看出d[maxi]不是最大值。
代码的问题是,第一次发现大于0的值时,存储的是键而不是值。然后将下一个值与存储的最后一个键进行比较。
最后,你存储了一个不是你想要的数字(我不知道这个数字是否有一个逻辑以
maxi
结尾——我猜这只是另一个随机数)。if d[key] > maxi
正在比较当前值和最大键。最简单的更改是写入if d[key] > d[maxi]
。(您也可以将最大值保留为它自己的变量)。相关问题 更多 >
编程相关推荐