擅长:python、mysql、java
<p>第一步可以是创建嵌套列表,将每个<code>2</code>元素添加到新的子列表中:</p>
<pre><code>from itertools import chain
from operator import itemgetter
i = [([0.2,0.10]),0.69, ([0.3,0.67]),0.70, ([0.5,0.68]),0.70, ([0.3,0.67]),0.65]
l = [i[x:x+2] for x in range(0, len(i),2)]
# [[[0.2, 0.1], 0.69], [[0.3, 0.67], 0.7], [[0.5, 0.68], 0.7], [[0.3, 0.67], 0.65]]
</code></pre>
<p>然后使用<code>operator.itemgetter</code>按每个子列表中的第二个元素对嵌套列表进行排序,并使用<a href="https://docs.python.org/2/library/itertools.html#itertools.chain" rel="nofollow noreferrer">^{<cd3>}</a>将结果展平:</p>
<pre><code>list(chain(*sorted(l, key = itemgetter(1), reverse=True)))
[[0.3, 0.67], 0.7, [0.5, 0.68], 0.7, [0.2, 0.1], 0.69, [0.3, 0.67], 0.65]
</code></pre>