<p><code>reversed</code>返回反向迭代器。在</p>
<p><code>[::-1]</code>向对象请求切片</p>
<p>Python对象尝试返回您可能期望的结果</p>
<pre><code>>>> [1, 2, 3][::-1]
[3, 2, 1]
>>> "123"[::-1]
'321'
</code></pre>
<p>这很方便,尤其是对于字符串和元组。在</p>
<p>但请记住,大多数代码不需要反转字符串。在</p>
<p><code>reversed()</code>最重要的作用是使代码更易于阅读和理解。在</p>
<p>它返回迭代器而不创建新序列的事实是次要的</p>
<p><a href="https://docs.python.org/2/whatsnew/2.4.html#pep-322-reverse-iteration" rel="nofollow">From the docs</a></p>
<blockquote>
<p>PEP 322: Reverse Iteration A new built-in function, reversed(seq)(),
takes a sequence and returns an iterator that loops over the elements
of the sequence in reverse order.</p>
</blockquote>
^{pr2}$
<blockquote>
<p>Compared to extended slicing, such as range(1,4)[::-1], reversed() is
easier to read, runs faster, and uses substantially less memory.</p>
<p>Note that reversed() only accepts sequences, not arbitrary iterators.
If you want to reverse an iterator, first convert it to a list with
list().</p>
</blockquote>
<pre><code>>>>
>>> input = open('/etc/passwd', 'r')
>>> for line in reversed(list(input)):
... print line
...
</code></pre>