繁体   English   中英

如何在python的for循环中增加计数器?

[英]How to increment counter in for loop for python?

我只是想在我的for循环中增加一个简单的计数器,但是此函数始终返回54。我猜想是这样做的,因为它将第二个计数器视为for循环内的局部变量。 如何增加计数器? 我觉得这应该非常简单,因为python是一种简单易懂的语言。 任何帮助将不胜感激!

for line in train_instances:
    counter = 54
    a = (line.split(":")[0])[i]
    b = (line.split(":")[1])[1]
    if ((int(a) == X) and (int(b) == Y)):
        counter = counter + 1
return counter

使用emumerate代替。

for counter,line in enumerate(train_instances):
    a,b = line.split(":")

不要在循环中增加任何内容或根本不重置counter

您需要将计数器的初始声明移到for循环之外。 由于它在内部,因此每次循环访问时,计数器都会每次重置为54。

这样做是因为计数器变量位于循环的主体中,并且每次循环运行时,都必须重新声明计数器变量并为其分配值54。为什么不将计数器变量移到for循环的上方呢?它返回正确的值,如下面的代码所示。

counter = 54

for line in train_instances:
    a = (line.split(":")[0])[i]
    b = (line.split(":")[1])[1]

    if ((int(a) == X) and (int(b) == Y)):
        counter = counter + 1
return counter

您应该在循环之前初始化counter 您当前的代码将每个循环的counter设置为54。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM