使用键在dict中打印最高值

Nis*_*ede 8 python dictionary python-2.7

我的字面就像,

{'A':4,'B':10,'C':0,'D':87}
Run Code Online (Sandbox Code Playgroud)

我想用键和最小值找到最大值.

输出就像,

最大值:87,键是D.

min:0,key为C.

我知道如何从dict获取最小值和最大值.有没有办法在一个陈述中获得价值和关键?

max([i for i in dic.values()]) 
min([i for i in dic.values()])
Run Code Online (Sandbox Code Playgroud)

Ale*_*ton 43

你可以使用使用maxmindict.get:

maximum = max(mydict, key=mydict.get)  # Just use 'min' instead of 'max' for minimum.
print(maximum, mydict[maximum])
# D 87
Run Code Online (Sandbox Code Playgroud)

  • 你也可以做`key,value = max(mydict.iteritems(),key = lambda p:p [1])`,因为这个问题特别提到了把钥匙和价值放在一起.但是,为了节省字典查找,很少需要输入更多代码. (8认同)

hol*_*web 9

线索是使用dict的项目(键值对元组).然后,通过使用项目的第二个元素作为max键(而不是dict键),您可以轻松地提取最高值及其关联的键.

 mydict = {'A':4,'B':10,'C':0,'D':87}
>>> max(mydict.items(), key=lambda k: k[1])
('D', 87)
>>> min(mydict.items(), key=lambda k: k[1])
('C', 0)
Run Code Online (Sandbox Code Playgroud)


Hac*_*lic 5

只是 :

 mydict = {'A':4,'B':10,'C':0,'D':87}
 max(mydict.items(), key=lambda x: x[1])
Run Code Online (Sandbox Code Playgroud)

  • 这不符合问题的规格。它应该找到具有最高值的键;不是最大的关键和最大的价值。 (5认同)