我希望这不是一个微不足道的问题,但我已经使用以下代码(测试代码,真的)创建了列表理解:
a = [1., 2., 3., 4., 5., 6., 7., 8., 9.]
b = [d if d > 5. else None for d in a]
...并且b
没有出现在Spyder的变量浏览器中。但是,在ipython控制台中我得到了
In [1]: b
Out [1]: [None, None, None, None, None, 6.0, 7.0, 8.0, 9.0]
这里发生了什么?
附录:当我输入c = None
时,c
也不会出现在变量资源管理器中。
答案 0 :(得分:2)
( Spyder开发人员)问题似乎是将None
元素作为b
列表的一部分。如果您将代码更改为
a = [1., 2., 3., 4., 5., 6., 7., 8., 9.]
b = [d if d > 5. else False for d in a]
然后b
出现在Variable Explorer中。
然而,这是一个错误,我们将为Spyder 3.2修复它(将在几周内发布)。
答案 1 :(得分:0)
NoneType
不是支持的数据类型; supported data types是
- Pandas DataFrame,TimeSeries和DatetimeIndex对象
- NumPy数组和矩阵
- PIL / Pillow图片
- 日期时间日期
- 整数
- 浮筒
- 复数
- 解释
- 字典
- 元组
- 字符串
醇>
但您可以取消选中"排除不支持的数据类型"在Variable Explorer首选项中显示所有变量(当然包括您的b
):
Tools -> Preferences -> Variable explorer -> Exclude unsupported data types (uncheck it).