【发布时间】:2014-06-16 19:35:39
【问题描述】:
我有一个很长的列表(大约 4000 个项目),当我尝试在 ipython 笔记本输出单元格中显示它时,它的内容被抑制了。可能显示了三分之二,但末尾有一个“...]”,而不是列表的所有内容。如何让 ipython notebook 显示整个列表而不是截止版本?
【问题讨论】:
标签: python ipython ipython-notebook
我有一个很长的列表(大约 4000 个项目),当我尝试在 ipython 笔记本输出单元格中显示它时,它的内容被抑制了。可能显示了三分之二,但末尾有一个“...]”,而不是列表的所有内容。如何让 ipython notebook 显示整个列表而不是截止版本?
【问题讨论】:
标签: python ipython ipython-notebook
对于print(mylist) 的输出类似于[1, 1, 1, ..., 1, 1, 1] 的情况,[*mylist] 会将项目展开为所有项目都可见的行。
【讨论】:
这应该可行:
print(str(mylist))
简单!
【讨论】:
print 语句,则不需要它,重要的是转换为 str()
max_seq_length 选项,但我找不到用户可配置的方式来编辑它;您可以尝试向 ipython 问题跟踪器发布请求
如何在 IPython 中禁用列表截断:
ipython profile create
c.PlainTextFormatter.max_seq_length = 0
【讨论】:
以下行以可读的方式打印列表中的所有内容。
[print(x) for x in lis]
【讨论】:
只需使用打印命令而不是直接调用列表。喜欢打印 mylist 。那时它不会截断。
【讨论】:
list 数据类型:print mylist.tolist()。
【讨论】:
max_rows 适用于数据帧 - max_seq_items 根据 impiyush 的回答,与列表有关。
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"
pd 是您用于 pandas 库的别名。
我知道这是一个很老的帖子,但仍然想发布我的答案,希望它对某人有所帮助。 您可以通过配置 pandas 选项来更改显示的 max_seq_items 的数量,如下所示:
pd.options.display.max_seq_items = 2000
【讨论】:
这是在不需要 Pandas 的 IPython 输出单元格中显示整个列表的方法:
from IPython.display import HTML
x = range(4000)
HTML('<br />'.join(str(y) for y in x))
添加额外的 HTML 元素并获得更精细的显示也很容易。现在单击输出单元格的左侧将缩小内容并添加本地滚动条。
【讨论】:
如果您正在使用 pandas,请快速破解
from pandas import DataFrame
from IPython.display import HTML
HTML(DataFrame(myList).to_html())
【讨论】:
display 函数。