reversed返回反向迭代器。在
[::-1]向对象请求切片
Python对象尝试返回您可能期望的结果>>> [1, 2, 3][::-1]
[3, 2, 1]
>>> "123"[::-1]
'321'
这很方便,尤其是对于字符串和元组。在
但请记住,大多数代码不需要反转字符串。在
reversed()最重要的作用是使代码更易于阅读和理解。在
它返回迭代器而不创建新序列的事实是次要的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.
^{pr2}$
Compared to extended slicing, such as range(1,4)[::-1], reversed() is
easier to read, runs faster, and uses substantially less memory.
Note that reversed() only accepts sequences, not arbitrary iterators.
If you want to reverse an iterator, first convert it to a list with
list().>>>
>>> input = open('/etc/passwd', 'r')
>>> for line in reversed(list(input)):
... print line
...