使用max(dict comprehension)获取值

2024-04-19 02:49:25 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

问题是它返回max key的值,我需要那个key的值。你知道吗

如何得到值或重写它,以便我得到max键的值? 最好不使用itertools。你知道吗

编辑:我忘了提,我需要用一行字写这个。你知道吗


Tags: keyin编辑forreturndef方式range
2条回答

您可以得到dict中的值列表

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

由于需要打印最大键的值,我们必须找到最大键。你知道吗

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。你知道吗

相关问题 更多 >