[英]Python Last Iteration in For Loop
有没有简单的方法在Python中找到for循环的Last Iteration? 我只想将列表转换为CSV。
要将列表转换为CSV,请使用join
-function:
>>> lst = [1,2,3,4]
>>> ",".join(str(item) for item in lst)
"1,2,3,4"
如果列表中只包含字符串,则只需执行",".join(l)
。
要将列表转换为csv,您可以使用csv
模块:
import csv
list_of_lists = ["nf", [1,2]]
with open('file', 'wb') as f:
csv.writer(f).writerows(list_of_lists)
'file'
文件是:
n,f
1,2
您最好的解决方案可能是使用csv模块,如其他地方所建议的那样。 但是,如上所述,请回答您的问题:
选项1:使用enumerate()计算你的方式
for i, value in enumerate(my_list):
print value,
if i < len(my_list)-1:
print ", followed by"
选项2:在循环外处理最终值( my_list[-1]
)
for value in my_list[:-1]:
print value, ", followed by"
print my_list[-1]
实际上当python中的for
循环结束时,它绑定的名称仍然可以访问并绑定到它的最后一个值:
for i in range(10):
if i == 3:
break
print i # prints 3
我用这一招用with
,如:
with Timer() as T:
pass # do something
print T.format() # prints 0.34 seconds
不完全是你想要的:
>>> for i in range(5):
print(i)
else:
print("Last i is",i)
0
1
2
3
4
Last i is 4
编辑 :标准库中有csv
模块,或者只是','.join(LIST)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.