找出字典最小值的键

时间:2019-08-22 16:13:30

标签: python python-3.x

scores = {5: 35044.51299744237, 25: 29016.41319191076, 50: 27405.930473214907, 100: 27282.50803885739, 250: 27893.822225701646, 500: 29454.18598068598}

分数是我定义的字典,现在我想找出字典中最小值的键,应该返回100。

我注意到可以这样做

min(scores, key=scores.get)

但是我不太明白上面的意思。我是python编程的新手。谁能在视觉上为我分解这条线?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

摘自Patrick所提供的docs

  

key参数的值应该是一个带有单个参数并返回用于排序目的键的函数。

因此,基本上将scores.get用作键函数会为得分中的每个键调用scores.get(key)

将分数作为最小数据传递时,它基本上将其视为键列表,因此从本质上讲,它会找到最小值并返回关联的键。

答案 1 :(得分:0)

也许更简单:调用min(scores)时,您将返回scoresscores中所有项目中具有最低值的项目。

调用min(scores, key=some_func)时,您将返回scores中具有最低值some_func(item)的项目。

例如,如果scores是(唯一)整数的列表,则min(scores)将返回最低的整数。如果some_func(x)返回x的负数,则min(scores, key=some_func)将返回最大值。