【文件属性】:
文件名称:反向迭代-华为云大数据中台架构分享
文件大小:5.68MB
文件格式:PDF
更新时间:2021-06-11 11:13:45
Python cookbook 中文 参考
4.5 反向迭代
问题
你想反方向迭代一个序列
解决方案
使用内置的 reversed() 函数,比如:
>>> a = [1, 2, 3, 4]
>>> for x in reversed(a):
... print(x)
...
4
3
2
1
反向迭代仅仅当对象的大小可预先确定或者对象实现了 __reversed__() 的特殊方
法时才能生效。 如果两者都不符合,那你必须先将对象转换为一个列表才行,
比如:
# Print a file backwards
f = open('somefile')
for line in reversed(list(f)):
print(line, end='')
要注意的是如果可迭代对象元素很多的话,将其预先转换为一个列表要消耗大
量的内存。
讨论