擅长:python、mysql、java
<p>Python 3中的<code>zip()</code>返回一个<em>迭代器</em>;当您请求元素时,输入将被压缩。迭代器不可排序,不</p>
<p>您可以使用<a href="https://docs.python.org/3/library/functions.html#sorted" rel="noreferrer">^{<cd2>} function</a>来“抽出”元素并从中返回排序列表:</p>
<pre><code>sorted(zip(a, b))
</code></pre>
<p>您还可以通过调用<code>zip()</code>对象上的<code>list()</code>将其转换为列表,然后使用<code>list.sort()</code>方法对结果进行排序,但这比使用<code>sorted()</code>函数要做的工作更多。</p>
<p><code>sorted()</code>采用与<code>list.sort()</code>相同的关键字参数,因此仍然可以使用相同的<code>key</code>函数:</p>
<p>演示:</p>
<pre><code>>>> a = [3, 9, 2, 24, 1, 6]
>>> b = ['a', 'b', 'c', 'd', 'e']
>>> sorted(zip(a, b))
[(1, 'e'), (2, 'c'), (3, 'a'), (9, 'b'), (24, 'd')]
>>> sorted(zip(a, b), key=lambda x: x[1])
[(3, 'a'), (9, 'b'), (2, 'c'), (24, 'd'), (1, 'e')]
</code></pre>
<p>另见<a href="https://stackoverflow.com/questions/22442378/what-is-the-difference-between-sortedlist-vs-list-sort-python">What is the difference between `sorted(list)` vs `list.sort()` ? python</a></p>