¿Cómo hacer que Ipython produzca una lista sin saltos de línea después de los elementos?

La consola IPython imprime una lista de elementos con saltos de línea para que cada elemento se muestre en su propia línea. Esto suele ser una característica, pero en mi caso es un error: necesito copiar y pegar listas largas, así que necesito una representación compacta. ¿Cómo puedo conseguir esto?

Puede usar el comando %pprint para activar / desactivar la función de impresión:

 In [1]: range(24) Out[1]: [0, 1, 2, ... 21, 22, 23] In [2]: %pprint Pretty printing has been turned OFF In [3]: range(24) Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] 

Si desea desactivar la pprint permanente, pprint un perfil y agregue c.PlainTextFormatter.pprint = False al archivo de perfil.

Ejemplo de Linux:

 $ ipython profile create [ProfileCreate] Generating default config file: '.../ipython_config.py' [ProfileCreate] Generating default config file: u'..../ipython_notebook_config.py' $ echo 'c.PlainTextFormatter.pprint = False' >> ~/.ipython/profile_default/ipython_config.py 

Inicie ipython con la --no-pprint .

 $ ipython --no-pprint ... IPython 0.13.2 -- An enhanced Interactive Python. ... In [1]: lis = ['a'*10]*10 In [2]: lis Out[2]: ['aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa'] 

Otra opción es iniciar ipython con la opción --classic , en la que pprint ya está deshabilitado:

 $ ipython --classic ... IPython 0.13.2 -- An enhanced Interactive Python. ... >>> lis = ['a'*10]*10 >>> lis ['aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa', 'aaaaaaaaaa'] 

Una alternativa a desactivar completamente la impresión bonita es boost el rasgo max_width para PlainTextFormatter .

Agregue lo siguiente a ipython_config.py ( ipython locate profile por ipython locate profile ):

 c.PlainTextFormatter.max_width = 120 

lo que permitirá a la bonita impresora usar menos espacio vertical al permitir que las líneas se extiendan a 120 caracteres en lugar del valor predeterminado de 79.