Python-将计数器保留在列表中

Python-将计数器保留在列表中,python,counter,list-comprehension,Python,Counter,List Comprehension,可以为下面的循环编写一个列表吗 m = [] counter = 0 for i, x in enumerate(l): if x.field == 'something': counter += 1 m.append(counter / i) 我不知道如何增加列表中的计数器。您可以使用: 为了避免tobias_k指出的可能的零分错误,您可以使用enumerate(l,start=1)使enumerate从1开始计数: 请注意,如果第一个(即“第零”)元

可以为下面的循环编写一个列表吗

m = []
counter = 0
for i, x in enumerate(l):
    if x.field == 'something':
        counter += 1
        m.append(counter / i)
我不知道如何增加列表中的计数器。

您可以使用:

为了避免tobias_k指出的可能的零分错误,您可以使用
enumerate(l,start=1)
使
enumerate
从1开始计数:


请注意,如果第一个(即“第零”)元素满足条件,则这可能导致除以零。还有,你到底想实现什么?你是对的。我在运行中编写了代码,但忘了增加1i。我想计算
import itertools as IT
counter = IT.count(1)
[next(counter)/i for i, x in enumerate(l) if x.field == 'something']
[next(counter)/i for i, x in enumerate(l, start=1) 
 if x.field == 'something']