擅长:python、mysql、java
<p>为了获得更有效的方法,您可以使用<code>enumerate</code>为要一起排序的项创建索引,然后使用另一个<code>enumerate</code>为排序序列创建索引,以将旧索引映射到已排序的索引作为dict,然后在列表范围内迭代索引,以在列表中输出新索引:</p>
<pre><code>L=(4,7,9,10,6,11,3)
d = {o: i for i, (o, _) in enumerate(sorted(enumerate(L), key=lambda t: t[1]))}
print([d[i] for i in range(len(L))])
</code></pre>
<p>这将产生:</p>
<pre><code>[1, 3, 4, 5, 2, 6, 0]
</code></pre>