Me preguntaba si hay una manera de imprimir elementos sin nuevas líneas, como
x=['.','.','.','.','.','.'] for i in x: print i
y eso se imprimiría ........
lugar de lo que normalmente se imprimiría lo que sería
. . . . . . . .
¡Gracias!
Esto se puede hacer fácilmente con la función print () con Python 3 .
for i in x: print(i, end="") # substitute the null-string in place of newline
Te regalaré
......
En Python v2 puedes usar la función print()
incluyendo:
from __future__ import print_function
como la primera statement en su archivo fuente.
Como los documentos de impresión () indican:
Old: print x, # Trailing comma suppresses newline New: print(x, end=" ") # Appends a space instead of a newline
Tenga en cuenta que esto es similar a una pregunta reciente que respondí ( https://stackoverflow.com/a/12102758/1209279 ) que contiene información adicional acerca de la función print()
si tiene curiosidad.
import sys for i in x: sys.stdout.write(i)
o
print ''.join(x)
Me sorprendió que nadie haya mencionado el método pre-Python3 para suprimir la nueva línea: una coma al final.
for i in x: print i, print # For a single newline to end the line
Esto inserta espacios antes de ciertos caracteres, como se explica aquí .
Como se mencionó en las otras respuestas, puede imprimir con sys.stdout.write o usar una coma al final de la impresión para hacer el espacio, pero otra forma de imprimir una lista con el separador que desee es una combinación:
print "".join(['.','.','.']) # ... print "foo".join(['.','.','.']) #.foo.foo.
Para Python3:
for i in x: print(i,end="")