在 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
我不确定以前是否有人问过这个问题,如果有人问过,我深表歉意,但我有以下简单的代码行:
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