擅长:python、mysql、java
<p>“简单”的答案是使用内置的<a href="http://docs.python.org/2/library/functions.html#max" rel="nofollow">^{<cd1>}</a>函数:</p>
<pre><code>from operator import itemgetter
def findKeyForLargestValue(d):
key,value = max(d.items(),key=itemgetter(1))
return key
</code></pre>
<p>如注释中所述,如果内存确实是一个问题,并且您正在使用python2.x,那么您可以使用<code>d.iteritems()</code>而不是<code>d.items()</code>。我通常使用<code>d.items()</code>,因为它可以在python2.x和python3.x上工作而无需修改(在本文中),与<code>d.items()</code>相关的额外内存(相对于<code>d.iteritems()</code>)几乎总是与我所做的任何工作无关。你知道吗</p>
<hr/>
<p>如果您对<code>itemgetter</code>感到困惑,请参见以下内容:</p>
<pre><code>def func(seq):
return seq[1]
#`func(x)` will return the same thing that `itemgetter(1)(x)` returns
# for any indexible object `x`
</code></pre>