【问题标题】:Different outputs in IDLE and IPython console in Spyder IDE. Possible reasonsSpyder IDE 中 IDLE 和 IPython 控制台的不同输出。可能的原因
【发布时间】:2018-10-24 07:13:53
【问题描述】:

我的一个特定功能/命令开始出现异常行为。 Remove items from a nested list based on comparing values obtained from another nested list

a = [[1,2,3,4,5],[3,4,5,6,7,8,9],[5],[1,2,3,6,7,8,9]]
b = [[1,4],[6,9]]
print ([[i for i in s if not any(l <= i <= h for l, h in b)] for s in a])

预期输出:

[[5], [5], [5], []]

IDLE 和 codeskulptor (https://py3.codeskulptor.org/) 中的输出:

[[5], [5], [5], []]

Spyder IDE(在 Ipython 控制台中)的输出是

[[], [], [], []]

代码在昨天 EoD 之前运行良好。我今天再次启动我的笔记本电脑并开始出现这种差异。我的 python 安装是通过 Anaconda 安装的。 Python 3.6.6 版本(IDLE 和 Spyder 都显示) Spyder 版本是 3.3.1

作为最后的手段,我曾多次尝试重新启动笔记本电脑,但似乎找不到造成这种差异的原因

【问题讨论】:

  • 重启 IPython 内核。在 IPython 控制台中单击并按 ctrl + .
  • 您的整个代码在其他地方一定有所不同。
  • @roganjosh 试过了。不能解决问题。
  • 嗯,它在 Spyder 3.2.4 中对我来说工作正常。我根本无法复制。您可能需要在他们的 github 上提出它。

标签: python python-3.x spyder


【解决方案1】:

这里是 Spyder 维护者)如果在我运行您的代码之前,我可以重现您在 Spyder 中看到的输出

from numpy import any

由于您声称在重新启动内核后得到了相同的结果,这意味着您已经激活了中存在的选项

Tools &gt; Preferences &gt; IPython console &gt; Graphics &gt; Automatically load Pylab and NumPy modules

所以请停用该选项以使用内置 any 获得预期的输出。

【讨论】:

  • 谢谢,这可行,但我如何确保以后不会出现此问题。我的代码中的命令import numpy as np 会继续导致这个问题吗?我不记得最初做过任何导致此问题的更改。
  • import numpy as np 没有这个问题。问题是我上面提到的选项将整个 numpy 直接导入控制台,即它相当于from numpy import *,这就是它默认停用的原因。
猜你喜欢
  • 2020-11-19
  • 2018-05-15
  • 2014-01-04
  • 2021-06-04
  • 2018-02-02
  • 1970-01-01
  • 1970-01-01
  • 2018-01-05
  • 2015-01-01
相关资源
最近更新 更多