在ipython中安全地查看列表

时间:2014-01-02 20:38:49

标签: list ipython-notebook

当我要求ipython笔记本显示(通过评估)时,一个大的np.array ipython使用省略号来汇总数据。但是,如果我要求ipython显示一个大型列表,那么就没有这样的安全防范,而我的可怜的ipython笔记本也在挣扎。我可以使用任何魔法或其他工具吗?我在emacs中运行了一个ipython笔记本。

2 个答案:

答案 0 :(得分:0)

你能不能自己测试一下这个列表的长度吗?或者将列表包装为生成器?

>>> def guard(XS,N):
...     if len(XS) > N:
...         return "list too long" # or whatever you want
...     else:
...         return XS
... 
>>> guard([1,2,3,4],2)
'list too long'
>>> guard([1,2,3,4],6)
[1, 2, 3, 4]
>>> 

答案 1 :(得分:0)

你想要的是add display support to existing object (example with polynomial and TeX)(那些你无法篡改源代码的)你想要定义的是那些“漂亮的格式化程序”(又名_repr_pretty_)。与numpy数组相比,你会遇到困难,因为列表是异构的,所以第一个元素可以是一个非常超长的元素。

您还可以查看现有格式化程序的plain doc,以获得一个想法。