老实说,我在这里有点困惑,为什么我不能在相同的数据上迭代两次?
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")
Run Code Online (Sandbox Code Playgroud)
这将打印出"一次这样做"几次(因为数据有几行),但它根本不会打印出"这样做两次"......
我第一次迭代数据工作正常,但第二次当我运行最后一个列表"for data in data"时,这没有返回...所以执行它一次工作但不是两次......?
仅供参考 - 数据是一个csv.reader对象(如果是这样的原因)......
我想计算直到n的平方和.假设n是4.然后此代码生成一个列表,其中包含0到4范围内的地图对象:
m = map(lambda x: x**2, range(0,4))
Run Code Online (Sandbox Code Playgroud)
足够轻松.现在调用m上的列表,然后求和:
>>> sum(list(m))
14
Run Code Online (Sandbox Code Playgroud)
意外的行为是,如果我再次运行最后一行,则总和为0:
>>> sum(list(m))
0
Run Code Online (Sandbox Code Playgroud)
我怀疑这是因为调用list(m)
返回一个空列表,但我找不到这种行为的解释.有人可以帮我解决这个问题吗?