开发者

Python Last Iteration in For Loop

Is there any simp开发者_JS百科le way to find the Last Iteration of the for Loop in Python? I just want to convert a list to CSV.


To convert a list to CSV, use the join-function:

>>> lst = [1,2,3,4]
>>> ",".join(str(item) for item in lst)
"1,2,3,4"

If the list already contains only string, you just do ",".join(l).


Your best solution is probably to use the csv module, as suggested elsewhere. However, to answer your question as stated:

Option 1: count your way through using enumerate()

for i, value in enumerate(my_list):
    print value,
    if i < len(my_list)-1:
        print ", followed by"

Option 2: handle the final value (my_list[-1]) outside the loop

for value in my_list[:-1]:
    print value, ", followed by"
print my_list[-1]


To convert a list to csv you could use csv module:

import csv

list_of_lists = ["nf", [1,2]]

with open('file', 'wb') as f:
     csv.writer(f).writerows(list_of_lists)

The 'file' file would be:

n,f
1,2


actually when a for loop in python ends the name that it bound is still accessible and bound to its last value:

for i in range(10):
    if i == 3:
        break
print i # prints 3

i use this trick with with like:

with Timer() as T:
    pass # do something
print T.format() # prints 0.34 seconds


Not exactly what you want:

>>> for i in range(5):
    print(i)
else:
    print("Last i is",i)


0
1
2
3
4
Last i is 4

Edited: There is csv module in standard library, or simply ','.join(LIST)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜