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