如何将所有ipython输出自动存储到变量“Out15”而不是列表组件“Out[15]”中?

如何将所有ipython输出自动存储到变量“Out15”而不是列表组件“Out[15]”中?,ipython,Ipython,ipython自动完成非常好,但是很多时候我需要使用以前的输出,并且表单Out[15]没有自动完成。我总是要重复做作业: out15=Out[15] 然后使用out15自动完成。 我们能使这个机械装置自动吗? (我知道我可以使用。,但它缺乏可读性,如果我重新运行某个东西,它就会变得不可追踪)在IPython中没有这样做的选项,我看不出有什么好的理由比在列表中存储更多的东西 一个更好的问题是,“如何在不使用中间变量的情况下完成dictionary和list元素?” 像我一样,Out[15]。会触

ipython自动完成非常好,但是很多时候我需要使用以前的输出,并且表单
Out[15]
没有自动完成。我总是要重复做作业:

out15=Out[15]
然后使用out15自动完成。 我们能使这个机械装置自动吗?
(我知道我可以使用
,但它缺乏可读性,如果我重新运行某个东西,它就会变得不可追踪)

在IPython中没有这样做的选项,我看不出有什么好的理由比在列表中存储更多的东西

一个更好的问题是,“如何在不使用中间变量的情况下完成dictionary和list元素?”

像我一样,
Out[15]。
会触发完成。我只是在我的配置文件中,或者使用
%config
魔术,将completer贪婪选项(
IPCompleter.greedy
)设置为
True

这仍然有副作用,如:

  • 如果一个属性实际上是一个属性,那么它可能会被计算出来,而这是您可能不想要的(比如Sql查询等等)
  • 它也适用于其他
    dict
    s和
    list
    s,如pandas,也适用于
    'mystring'等函数。upper().decdoe()。
    将起作用。。。等

无论如何,这不是你要求的,所以它可能不会帮助你。

不知道有
IPCompleter.greedy
选项。虽然这不是我要问的,但这正是我想要解决的问题:)。我想要
Out[15]
而不是
Out[15]
的另一个原因只是为了减少键入,而不是那么重要。