跟踪内部循环的运行总数

2024-04-16 12:51:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个嵌套函数,简化如下。我希望跟踪内部循环中的总运行次数,以便以后在命名输出文件时使用这些值

下面是我当前的嵌套循环,它打印列名和枚举类属性self.vals中的项:

for n in df["col"]:

    for idx, item in enumerate(self.vals):

        print(n, item)

        print(str(idx))

df列col中有2项,属性self.vals中有2项。内部循环索引对self.vals中的2项进行计数,给出(0,1),然后在再次运行之前重置。打印索引会给出self.vals(0,1,0,1)的索引:

0
1
0
1

我希望输出是这样的:

0
1
2
3

那么,如何使内部循环索引不重置并保持循环运行的累计总数呢?谢谢你的想法:)


1条回答
网友
1楼 · 发布于 2024-04-16 12:51:09

enumerate()只是对self.vals中的每个值进行计数,因此,一旦所有项都用完并且循环再次运行,计数就会重新开始

为了防止每次重置,需要在循环外部定义存储索引的变量。尝试在循环外部将idx设置为0,并在循环内部递增1,如:

for n in df['col']:
    idx = 0
    for item in self.vals:
        print(idx)
        idx += 1

相关问题 更多 >