Python for循环中的当前迭代数

时间:2019-12-17 11:32:55

标签: python

我确定有更好的方法或编写此python函数:

end_points = list(range(100))
filepath = 'something.csv'
with open(filepath) as fp:
    cnt = 0
    for line in fp:
        end_points[cnt]=[x.strip() for x in line.split(',')]
        cnt += 1

它可以工作,但并不优雅。有没有一种方法可以自动引用for loop中的当前迭代次数?

2 个答案:

答案 0 :(得分:3)

您还可以使用枚举功能:

for iteration_no, line in enumerate(fp):
    print(iteration_no)
    end_points[iteration_no]=[x.strip() for x in line.split(',')]

如果您对查看循环进度更感兴趣,则可以选择查看TQDM程序包,该程序包可动态打印循环的进度。

https://github.com/tqdm/tqdm

答案 1 :(得分:1)

不确定优雅但短一些,

>>> with open("something.csv") as f:
...     result = [list(map(str.strip,x.split(','))) for x in f]
...     print(result)