如何强制pprint每行打印一个list/tuple/dict元素?

Rob*_*ark 5 python dictionary list pretty-print pprint

如何强制pprint()每行打印一个list/tuple/dict元素?

>>> from pprint import pprint
>>> my_var = ['one', 'two', ('red','green'), {'state' : 'Oregon', 'city' : 'Portland'}]
>>> pprint(my_var)
['one', 'two', ('red', 'green'), {'city': 'Portland', 'state': 'Oregon'}]
Run Code Online (Sandbox Code Playgroud)

我希望输出类似于:

['one',
 'two',
 ('red',
  'green'),
 {'city': 'Portland',
  'state': 'Oregon'}]
Run Code Online (Sandbox Code Playgroud)

Rob*_*ark 7

对pprint()使用width = 1参数:

>>> from pprint import pprint
>>> my_var = ['one', 'two', ('red','green'), {'state' : 'Oregon', 'city' : 'Portland'}]
>>> pprint(my_var, width=1)
['one',
 'two',
 ('red',
  'green'),
 {'city': 'Portland',
  'state': 'Oregon'}]
>>>
Run Code Online (Sandbox Code Playgroud)

"pprint - 数据漂亮的打印机"文档

  • @TaylorEdmiston 如果你的字典可以被 json 编码,那么一个快速的方法是使用:`print(json.dumps(mydict, indent=2))` (2认同)