擅长:python、mysql、java
<p>你可以找到像这样最小的项目的索引</p>
<pre><code>>>> L = [4,7,3,10]
>>> min(range(len(L)), key=L.__getitem__)
2
</code></pre>
<p>现在你知道了索引,你也可以得到实际的项目。例如:<code>L[2]</code></p>
<p>另一种以<code>(index, item)</code>形式找到答案的方法</p>
^{pr2}$
<p>我认为解决问题的方法可能是错误的,但是如果知道变量的名称,就可以从本地命名空间中提取变量的值。例如</p>
<pre><code>>>> a = 4
>>> b = 7
>>> c = 3
>>> d = 10
>>> min(enumerate(['a', 'b', 'c', 'd']), key=lambda x, ns=locals(): ns[x[1]])
(2, 'c')
</code></pre>
<p>更好的方法是使用dict,这样就不会用这些“垃圾”变量填充工作名称空间</p>
<pre><code>>>> D = {}
>>> D['a'] = 4
>>> D['b'] = 7
>>> D['c'] = 3
>>> D['d'] = 10
>>> min(D, key=D.get)
'c'
>>> min(D.items(), key=lambda x:x[1])
('c', 3)
</code></pre>
<p>您可以看到,当使用正确的数据结构时,所需的代码量要少得多。在</p>