Python在嵌套循环中初始化变量

时间:2015-05-13 18:17:36

标签: python increment nested-loops

我想在内部循环的迭代完成时将变量genCounter重置为零。但它返回genreSet的第一个值,并且不会进一步增加genCounter变量。 kawa是一个发明者的对象。提前谢谢..

kawa = self.getFile()
genList = []
genCounter = 0
for gen in self.genreSet:
  print(gen)
  if genCounter == 0 :
    for ids, row in enumerate(kawa):
      self.genres = row['genres']
      self.genresList = self.genres.split('|')
      for n in self.genresList:
        if gen == n:
          genCounter+=1
  print(genCounter)
  genCounter=0

这是结果

Documentary
2471
Sci-Fi
0
War
0
Horror
0
Musical
0
Children
0
Mystery
0
Drama
0
IMAX
0
Action
0
Adventure
0
Fantasy
0
Crime
0
Comedy
0
(no genres listed)
0
Animation
0
Thriller
0
Romance
0
Western
0
Film-Noir
0

1 个答案:

答案 0 :(得分:1)

kawa是一个生成器对象。因此,在第一次调用

后它变空
enumerate(kawa)

如果用

替换第一行代码
kawa = tuple(self.getFile())

然后它可能会起作用。 (或者至少产生一个不同的错误;)