如下有一段代码:
a = [1,2.3]
b = reversed(a)
print(b)
print(list(b))
print(list(b))
输出结果:
<list_reverseiterator at 0x28281193348>
[3,2,1]
[]
输出分析:
- 第一行输出表明返回一个迭代器。
- 第二行输出表明用迭代器将倒序的序列放在列表里。
- 第三行输出表明迭代器已经取到最后一个,再次返回时没有。
对于Python3其他的高阶函数如map、filter、sorted等都是同样的原理,注意他们返回的都是迭代器,需要用列表这个容器进行存储。