¿Cómo imprimir artículos de la lista que contienen nueva línea?

Estos comandos:

l = ["1\n2"] print(l) 

impresión

 ['1\n2'] 

Quiero imprimir

 ['1 2'] 

¿Es posible cuando generamos la lista fuera del comando print() ?

Un primer bash:

 l = ["1\n2"] print(repr(l).replace('\\n', '\n')) 

La solución anterior no funciona en casos difíciles, por ejemplo, si la cadena es "1\\n2" , reemplaza, pero no debería. Aquí está cómo solucionarlo:

 import re l = ["1\n2"] print(re.sub(r'\\n|(\\.)', lambda match: match.group(1) or '\n', repr(l))) 

Solo si está imprimiendo el elemento en sí (o cada elemento) y no toda la lista:

 >>> a = ['1\n2'] >>> a ['1\n2'] >>> print a ['1\n2'] >>> print a[0] 1 2 

Cuando intenta simplemente imprimir la lista completa, imprime la representación de cadena de la lista. Las nuevas líneas pertenecen a elementos individuales, así que imprímase como nuevas líneas solo cuando imprima ese elemento. De lo contrario, los verá como \n .

Probablemente deberías usar esto, si tienes más de un elemento.

 >>> test = ['1\n2', '3', '4\n5'] >>> print '[{0}]'.format(','.join(test)) [1 2,3,4 5] 

Prueba esto:

 s = ["1\n2"] print("['{}']".format(s[0])) => ['1 2']