使用max获取价值(dict理解)

时间:2017-11-24 16:18:38

标签: python python-3.x dictionary

我以这种方式将值存储在dict中:

def fname():
    return max({(x): x**2 for x in range(1, 20)})

问题是这返回了max key的值,我需要该键的值。

如何获取值或重写它以便我获得max key的值? 最好不使用itertools。

编辑:我忘了提,我需要用一行书写。

2 个答案:

答案 0 :(得分:1)

你可以获得dict中值的列表

max({(x): x**2 for x in range(1, 20)}.values())
361

答案 1 :(得分:0)

由于要求打印最大密钥的值,我们必须找到最大的密钥。

l = sorted(list({x:x**2 for x in range(1, 20)}.items()), key = lambda v:v[0], reverse=True)[0][1]
print(l)
# 361

在上面的示例中,最大值也具有最大键。 因此,让我们通过不同的例子来解决

d = {1:4,2:3}
l = sorted(list(d.items()), key = lambda v:v[0], reverse=True)[0][1]
print(l)
# 3 

请注意,它打印3而不是4。