我有一个字典,“整数”,整数,我想找到最高值的关键字。我用这个代码:Python中字典最大值的关键字
key = max(scores, key=scores.get)
但是,这只能返回一个关键。这如何处理最高价值的关系?我只收到一个号码。在领带的情况下,这是什么?我怎样才能获得最高价值的所有钥匙? 感谢您的帮助。
我有一个字典,“整数”,整数,我想找到最高值的关键字。我用这个代码:Python中字典最大值的关键字
key = max(scores, key=scores.get)
但是,这只能返回一个关键。这如何处理最高价值的关系?我只收到一个号码。在领带的情况下,这是什么?我怎样才能获得最高价值的所有钥匙? 感谢您的帮助。
你可以运行下面的,例如:
max_value = max(scores.values())
keys = [ i for (i,v) in scores.iteritems() if v == max_value ]
“钥匙”将现在持有所有这些对应的按键最大值。
max
函数返回一个值。你可以使用这样的事情:
key = max(scores, key=scores.get)
keys = [k for k in scores if scores[k] == scores[key]]
编辑:固定
这是行不通的。 'max_value'将包含与/ a最大值关联的*键*,而不是该值本身。 –
我想你是指'如果分数[k] ==分数[max_value]'我很确定'max'函数返回值的索引。 –
@Tim你击败了我! :) –
scores = dict(a=1,b=2,c=3,d=4,e=5,f=5)
maxscr = max(scores.values())
maxscrs = [scr for scr in scores if scores[scr]== maxscr]
给出:
['e','f']
max_value = max(scores, key=scores.get)
keys = [score for score in scores if scores[score] == max_value]
这可能是最好的方法。 –
+1你抓住了我! – joaquin
如果v == max_value'有点快一点,会不会'keys = [i for(i,v)在scores.items()中? –