字典检索值并记住键

3
我正在使用一个字典来存储温度值,其中键为温度的日期,值为该日期的温度。
day = {day: temperature, 1: 32, 2: 29, 3: 25, 4: 34}

我想获取最高温度,所以我使用了max函数:

max(day.values)

这给了我最高温度。然而,我还需要知道这个温度是在哪一天。我该如何获取这个值来自哪个键?

3个回答

4

max接受一个key函数。你可以使用它来查看字典中的项目并按值比较这些项目:

max(day.items(), key=lambda pair: pair[1])

这将返回字典中具有最大值的项目(键-值对)。

3
你可以利用max函数的关键字参数。Python内置的max函数max可接受一个可选的key参数,该参数接受一个排序函数。
>>> day= {1: 32, 2: 29, 3: 25, 4: 34}
>>> from operator import itemgetter
>>> max(day.items(), key = itemgetter(1))
(4, 34)

这个返回一个包含日期和温度的元组。你可以通过索引来获取具体的细节。


3
这里有另一种更简洁的选择:
max(temp, key=temp.get)
=> 4

现在我们知道最高的一天是4,很容易获得温度:

temp[4]
=> 34

是的,如果你只想要日期,这个方法可以使用。如果你真的想的话,你甚至可以缩短为 max(temp, key=temp.__getitem__) - mgilson
1
简洁的解决方案总是最好的 :) 这个解决方案还可以轻松地检索任一值,而其他答案则将它们放在同一行中,例如 (3, 21) - Anthony

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接