擅长:python、mysql、java
<p>下面是一种使用列表理解的方法。其思想是<a href="https://docs.python.org/3/howto/sorting.html" rel="nofollow noreferrer">^{<cd1>}</a>一个与列表长度相同的<code>range</code>,指定要从<code>key</code>参数中的列表中获取元素。我们得到的结果是经过排序的<code>range</code>,以返回将对列表进行排序的索引:</p>
<pre><code>l= [0.25, 0.5, 0.5, -0.25, -0.25, 0.25]
out = [i for i in sorted(range(len(l)), key=l.__getitem__, reverse=True)][:3]
# [1, 2, 0]
</code></pre>
<hr/>
<p>如果您想要额外的<code>-1s</code>:</p>
<pre><code>out + [-1] * (len(l) - len(out))
# [1, 2, 0, -1, -1, -1]
</code></pre>