Crear líneas de texto, ‘\ n’.join (my_list) falta nueva línea final :-(

Quiero unir N cadenas a la nueva cadena. Una línea para cada artículo:

my_list=['one', 'two', 'three'] lines='\n'.join(my_list) 

Desafortunadamente, necesito una nueva línea final al final de cada línea en lines . En la solución anterior a la última línea le falta la nueva línea.

Busco una solución fácil y fácil para los novatos.

… yo uso Python 2.7

Simplemente agregue otro \n como este (ya que la salida de join() también es una cadena):

 my_list=['one', 'two', 'three'] print '\n'.join(my_list)+'\n' 

Como alternativa a la adición manual al valor de retorno de la unión, podría (manualmente también) agregar la cadena vacía a su lista.

 >>> my_list=['one', 'two', 'three'] >>> my_list.append('') >>> '\n'.join(my_list) 'one\ntwo\nthree\n' 

En Python 3.6, también puede usar la expresión generadora ( PEP289 ):

 ''.join(f"{row}\n" for row in my_list) 

Es un poco más limpio para mí.

Usando la impresión antes, funciona:

 >>> print '\n'.join(ls) one two three >>> 

Verifique esta respuesta para obtener detalles sobre la diferencia en las cadenas y la representación de cadenas, como se menciona aquí .

Aquí también, puedes encontrar una solución.