为什么我不能在相同的数据上重复两次呢?

为什么我不能在相同的数据上重复两次呢?

老实说,我在这里有点困惑,为什么我不能在相同的数据上重复两次呢?

def _view(self,dbName):
    db = self.dictDatabases[dbName]
    data = db[3]

    for row in data:
        print("doing this one time")

    for row in data:
        print("doing this two times")

这将打印出“只做一次”几次(因为数据有几行),但是它根本不会打印出“执行两次”.

当我第一次迭代数据时工作正常,但是当我第二次运行最后一个列表“数据行”时,它什么也不返回.所以一次执行有效,但不是两次.?

数据是csv.Reader对象(如果这是原因的话).


catspeake
浏览 546回答 3
3回答

繁华开满天机

一旦迭代器耗尽,它将不再产生。>>> it = iter([3, 1, 2])>>> for x in it: print(x)...312>>> for x in it: print(x)...>>>

一只萌萌小番薯

我想为那些在2017年寻找解决方案并使用python2.7或3的人完成@scar López的回答。方法TEE()现在不使用关键字参数,并等待第二个参数为整数,而不是关键字。这是使用TEE()的正确方法:import itertools it1, it2 = itertools.tee(db[3], 2)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python