擅长:python、mysql、java
<p>您可以使用<code>zip</code>来转置列表,对转置进行排序,然后将该列表转置回正确的维度之一。在</p>
<pre><code>listOfLists = [ ['m', 'e', 'l', 't', 's'],
['g', 'p', 's', 'k', 't'],
['y', 'q', 'd', 'h', 's'] ]
print(list(zip(*sorted(zip(*listOfLists)))))
# [('e', 'l', 'm', 's', 't'), ('p', 's', 'g', 't', 'k'), ('q', 'd', 'y', 's', 'h')]
</code></pre>
<p>编辑:</p>
<p>正如@StevenRumbalski在评论中指出的那样,上面的方法将对垂直切片进行完全排序(按第一个字母,然后第二个字母等),而不是按第一个字母(先按第一个字母排序,然后按输入中的相对顺序排序)进行排序。我将在这里重现他的解决方案以便于查看:</p>
^{pr2}$