在迭代列表的Pythonfor循环中,我们可以这样写:

for item in list:
    print item

并且它整齐地遍历列表中的所有元素.有没有办法在循环中知道到目前为止我已经循环了多少次?例如,我想要获取一个列表,在处理完10个元素之后,我想用它们做点什么.

我想到的备选方案是:

count=0
for item in list:
    print item
    count +=1
    if count % 10 == 0:
        print 'did ten'

或者:

for count in range(0,len(list)):
    print list[count]
    if count % 10 == 0:
        print 'did ten'

到目前为止,有没有更好的方法(就像for item in list)来获得迭代次数?

推荐答案

Python 的方式是用enumerate:

for idx,item in enumerate(list):

Python相关问答推荐

为什么图像结果翻转了90度?

流畅的模式,采用Escc方法

有什么方法可以修复奇怪的y轴Python matplotlib图吗?

是否有方法将现有的X-Y图转换为X-Y-Y1图(以重新填充)?

如何在不使用字符串的情况下将namedtuple属性传递给方法?

在使用Guouti包的Python中运行MPP模型时内存不足

Python中的负前瞻性regex遇到麻烦

使用新的类型语法正确注释ParamSecdecorator (3.12)

仿制药的类型铸造

根据在同一数据框中的查找向数据框添加值

有症状地 destruct 了Python中的regex?

海运图:调整行和列标签

如果值不存在,列表理解返回列表

在Polars(Python库)中将二进制转换为具有非UTF-8字符的字符串变量

如何获取TFIDF Transformer中的值?

将9个3x3矩阵按特定顺序排列成9x9矩阵

如何使用Pandas DataFrame按日期和项目汇总计数作为列标题

在嵌套span下的span中擦除信息

Flash只从html表单中获取一个值

如何防止Pandas将索引标为周期?