首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Numpy.array( None )返回None但不是None

Numpy.array( None )返回None但不是None
EN

Stack Overflow用户
提问于 2017-07-29 03:39:04
回答 4查看 1.5K关注 0票数 1

有人能解释这种行为吗?

代码语言:javascript
复制
print np.array(None)
> None
print np.array(None) is None
> False
EN

回答 4

Stack Overflow用户

发布于 2017-07-29 03:43:22

您有一个对象,它的str()值为None,因此这是打印的内容:

代码语言:javascript
复制
>>> import numpy as np
>>> np.array(None)
array(None, dtype=object)
>>> str(np.array(None))
'None'

这是一个包含字母None的字符串值。这与None单例对象不是一回事,只是在打印时看起来和是一样的。

票数 1
EN

Stack Overflow用户

发布于 2017-07-29 03:43:05

实际上,您有一个字符串表示为None的数组对象,而不是您认为的None对象:

代码语言:javascript
复制
>>> np.array(None)
array(None, dtype=object)
>>> str(_)
'None'

这就是打印语句显示None的原因。

但是,您实际要做的是:

代码语言:javascript
复制
np.array(None) is None # False
票数 0
EN

Stack Overflow用户

发布于 2017-07-29 03:43:13

np.array(None)不是Noneprint只是将其打印为None

代码语言:javascript
复制
In [1]: a = np.array(None)

In [2]: a
Out[2]: array(None, dtype=object)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45381199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档