在 for 循环中使用迭代次数而不是列表元素

Use number of iteration in for-loop instead of element of list

我不确定以前是否有人问过这个问题,如果有人问过,我深表歉意,但我有以下简单的代码行:

for s in lst_times:
        #print(s)
        f.write( str() + " " + str(s)+ " " + "\n" )

我有什么办法可以在这个循环中使用 s 的实际整数值而不是列表 lst_times 中索引为 s 的元素?

感谢您的宝贵时间,

两种方式:

for i in range(len(lst_times)):
    f.write(...

for i, s in enumerate(lst_times):
    f.write(...

看看enumerate函数

for i, s in enumerate(lst_times):
    #print(s)
    f.write( str() + " " + str(s)+ " " + "\n" )

除了 range 之外,您还可以使用 xrange 来延迟评估索引。 xrange 将 return 一个迭代器对象,并且一次只在内存中保留一个数字(与 range 相反,后者将保留一个数字列表)。

for i in xrange(len(lst_times)):
    f.write(...)
    # lst_times[i] will give you `ith` element.

p.s。 - xrange 仅在 python 2.x 中。 python 3 的 range 就像 python 2.x 的 xrange