Pom*_*mmy 5 python printing ipython
在Ipython中进行数据分析时,我经常需要通过将其内容打印到shell来查看数据.Numpy只有在它们太长的时候才能显示巨大物体的边缘.我真的很喜欢ndarrays的这个功能,但是当我打印内部python对象(例如,带有15k对象的字典)时,它们会被转储到屏幕上,或者有时会以不太友好的方式被截断.因此,例如对于一个巨大的字典,我希望在输出中看到这样的东西
{ '39416' : '1397',
'39414' : '1397',
'7629' : '7227',
...,
'31058' : '9606',
'21097' : '4062',
'32040' : '9606' }
Run Code Online (Sandbox Code Playgroud)
如果可以处理对齐和嵌套数据结构,那将是完美的.它们是一个特殊的模块,可以为python基类(list,dict)提供这样的功能吗?或者有一些我一无所知的ipython配置技巧?
有一个很好的内置库pprint。看看它。
>>> from pprint import pprint
>>> pprint({x: list(range(x)) for x in range(10)})
{0: [],
1: [0],
2: [0, 1],
3: [0, 1, 2],
4: [0, 1, 2, 3],
5: [0, 1, 2, 3, 4],
6: [0, 1, 2, 3, 4, 5],
7: [0, 1, 2, 3, 4, 5, 6],
8: [0, 1, 2, 3, 4, 5, 6, 7],
9: [0, 1, 2, 3, 4, 5, 6, 7, 8]}
Run Code Online (Sandbox Code Playgroud)