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']