4.5 反向迭代
问题
想反方向迭代一个序列
解决方案
使用内置的 reversed()
函数,比如:
反向迭代仅仅当对象的大小可预先确定或者对象实现了 __reversed__()
的特殊方法时才能生效。 如果两者都不符合,那你必须先将对象转换为一个列表才行,比如:
要注意的是如果可迭代对象元素很多的话,将其预先转换为一个列表要消耗大量的内存。
讨论
可以通过在自定义类上实现 __reversed__()
方法来实现反向迭代。比如:
Last updated
Was this helpful?