¿Hay alguna manera simple de encontrar la última iteración del for Loop en Python? Solo quiero convertir una lista a CSV.Python Última iteración en For Loop
Respuesta
Para convertir una lista a CSV, utilice el join
-función:
>>> lst = [1,2,3,4]
>>> ",".join(str(item) for item in lst)
"1,2,3,4"
Si la lista ya contiene sólo la secuencia, que acaba de hacer ",".join(l)
.
esto no escapará correctamente los valores que contienen ',' para eso usa el módulo csv –
No es exactamente lo que quiere:
>>> for i in range(5):
print(i)
else:
print("Last i is",i)
0
1
2
3
4
Last i is 4
Editado: Hay csv
módulo en la biblioteca estándar, o simplemente ','.join(LIST)
'for' 'else' solo se ejecuta si el ciclo sale al final del iterador no a través de' break' –
No me había encontrado antes con esa construcción. Interesante. – neil
realidad cuando un bucle for
en Python termina el nombre que se une es todavía accesible y vinculado a su último valor:
for i in range(10):
if i == 3:
break
print i # prints 3
Yo uso este truco con with
como:
with Timer() as T:
pass # do something
print T.format() # prints 0.34 seconds
Para convertir una lista a CSV se puede utilizar csv
módulo:
import csv
list_of_lists = ["nf", [1,2]]
with open('file', 'wb') as f:
csv.writer(f).writerows(list_of_lists)
El archivo 'file'
sería:
n,f
1,2
La mejor solución es probablemente usar el módulo csv, como se sugiere en otros lugares . Sin embargo, para responder a su pregunta como se indica:
Opción 1: contar su camino a través del uso de enumerar()
for i, value in enumerate(my_list):
print value,
if i < len(my_list)-1:
print ", followed by"
Opción 2: manejar el valor final (my_list[-1]
) fuera del bucle
for value in my_list[:-1]:
print value, ", followed by"
print my_list[-1]
- 1. Python: continuar la iteración de for loop en la excepción
- 2. repite una iteración de for loop
- 3. Infinite for loop en Python
- 4. Ir a la siguiente iteración en For Loop en java
- 5. ¿Cómo puedo reconocer la última iteración en C++ while loop?
- 6. Python for-loop look-ahead
- 7. Última iteración del bucle for mejorado en java
- 8. fork() en for() loop
- 9. For-loop vs while loop en R
- 10. Delphi for..in loop set enumeration order
- 11. Dangerous for loop idiom?
- 12. Parallel for-loop en Windows
- 13. for-loop, incremento en doble
- 14. A for loop sin {}
- 15. javascript/jQuery - For Loop
- 16. Optimice JSonArray for Loop
- 17. C# - For-loop internals
- 18. Comportamiento extraño de Python en for loop o listas
- 19. ¿Cómo for-loop tres columnas por fila en Django/python?
- 20. ¿Puede cada iteración de un for loop/for_each hacerse en paralelo? (C++ 11)
- 21. "for" loop in velocity template
- 22. Ruby for loop a trap?
- 23. java for loop no funciona
- 24. django for loop counter break
- 25. JavaScript for loop index raregeness
- 26. ¿Python congela la lista antes de for-loop?
- 27. Python for Loop se ralentiza con el tiempo
- 28. Plantilla de Django para ciclo - Última iteración
- 29. iteración aleatoria en Python
- 30. obtener la última iteración en jquery cada
No. ¿Pero tal vez si explicas tu problema real, podemos sugerir una solución alternativa? –
Me pregunto si el módulo csv estándar podría resolver su problema de otra manera. –
No estoy seguro de por qué ninguna de las respuestas a esta pregunta realmente lo responde ... – 2rs2ts