Search code examples
pythonpython-2.7dictionarypprint

pprint dictionary on multiple lines


I'm trying to get a pretty print of a dictionary, but I'm having no luck:

>>> import pprint
>>> a = {'first': 123, 'second': 456, 'third': {1:1, 2:2}}
>>> pprint.pprint(a)
{'first': 123, 'second': 456, 'third': {1: 1, 2: 2}}

I wanted the output to be on multiple lines, something like this:

{'first': 123,
 'second': 456,
 'third': {1: 1,
           2: 2}
}

Can pprint do this? If not, then which module does it? I'm using Python 2.7.3.


Solution

  • Use width=1 or width=-1:

    In [33]: pprint.pprint(a, width=1)
    {'first': 123,
     'second': 456,
     'third': {1: 1,
               2: 2}}