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

2024-05-17 08:09:26 发布

您现在位置: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

Tags: andinstances函数in语言forreturnif
3条回答

改用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

相关问题 更多 >