在容器上执行多次迭代的正确方法是什么?从python文档:
迭代器 - 容器对象(例如列表)每次将它传递给iter()函数或在for循环中使用它时都会生成一个全新的迭代器.使用迭代器尝试此操作只会返回上一次迭代过程中使用的相同耗尽的迭代器对象,使其看起来像一个空容器.
协议的目的是一旦迭代器的next()方法引发StopIteration,它将继续在后续调用中这样做.不遵守此属性的实现被视为已损坏.(这个约束是在Python 2.3中添加的;在Python 2.2中,根据此规则会破坏各种迭代器.)
如果我有这个代码:
slist = [1,2,3,4]
rlist = reversed(slist)
list(rlist)
#[4,3,2,1]
tuple(rlist)
#()
Run Code Online (Sandbox Code Playgroud)
什么是两次迭代'rlist'的最简单,最正确的方法?
python ×1