我需要帮助从字典中获取最大值。我有一本 {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())
