擅长:python、mysql、java
<p>您只需要对<code>sort</code>进行一次调用,因为Python会自动按字典顺序对元组进行排序。也就是说,如果你让Python比较两个元组,它会按照它们的第一个元素对它们排序,除非那些比较相等,在这种情况下,它会按照它们的第二个元素对它们排序,除非那些比较相等,在这种情况下</p>
<p>您希望通过减去元素的长度然后按字母顺序对元素列表进行排序,因此您希望字符串<code>s</code>的键是元组<code>(-len(s), s)</code>。因此:</p>
<pre><code>>>> l = ['aa','aaa','aaaa','b','bb','z','ccc']
>>> sort_key = lambda s: (-len(s), s)
>>> l.sort(key=sort_key)
>>> l
['aaaa', 'aaa', 'ccc', 'aa', 'bb', 'b', 'z']
</code></pre>