Skip to main content
 首页 » 编程设计

python之在字典中搜索最大值然后获取关联的键

2025年05月04日22me-sa

我需要帮助从字典中获取最大值。我有一本 {num : [state,value] ...} 的字典,需要获取与最高值相关的所有内容。

#find max value in dictionary 
td = {0: ['b',3], 1: ['b',6], 4: ['b',2], 3: ['b',5] } 
#In this example td dict, I want to grab the key and state associated with the highest value, 6. I want to grab "1: ['b',6]" 
print td 
print td.keys() 
print td.values() 
maxval = max([v for k,[s,v] in td.iteritems()]) 
print maxval #correctly prints 6 

请您参考如下方法:

只需更改您的 max() 理解即可生成以值作为第一个元素的元组:

>>> max((v, k, s) for k, (s, v) in td.iteritems()) 
(6, 1, 'b') 

所以你的代码可能看起来像这样:

maxval, maxnum, maxstate = max((v, k, s) for k, (s, v) in td.iteritems())