为什么 numpy.where 在尝试在数组中查找 None 元素时“== None”和“is None”的行为不同?

edwardliang2019

我正在尝试使用 np.where 查找数组中的所有 None 元素。这是我的代码:

a = np.array([None, 1, 2, None, 3])
print(np.where(a is None)[0])
print(np.where(a == None)[0])

奇怪的是,使用“a is None”返回一个空数组,而使用“a==None”返回正确的结果。我想知道为什么会这样?谢谢!

更新:如果 a 是一个 python 列表,则两者的行为相同并返回 []。只有在将 a 转换为 ndarray 时才会发生差异。

埃桑

a is None检查是否a本身None,并不会检查的元素 a 反对 None换句话说,aisNone如果a它本身是None所以,a is None返回False这里因为a不是空的。现在,np.where(a is None)相当于np.where(False)which 是空的,因此它的第一个元素也是空的,返回[].

另一方面,a == None检查a反对的元素None并将返回array([ True, False, False, True, False])结果您看到的输出。

简而言之:

a is None
#False

a == None
#array([ True, False, False,  True, False])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在numpy数组中查找none和nan的索引

来自分类Dev

为什么pandas.where()返回'None'

来自分类Python

为什么`None is None is None`返回True?

来自分类Dev

[...,None]在Numpy中是什么意思?

来自分类Python

在numpy中,[:, None]的选择有什么作用?

来自分类Python

“ is None”和“ == None”有什么区别

来自分类Dev

当我在列表中打印出append()函数时,为什么我的输出是None None None而不是3 3 3

来自分类Dev

为什么在进行递归时返回 None ?

来自分类Dev

在Python上使用BeautifulSoup4时,为什么当我尝试打印“ <p>”元素时,结果为'None'?

来自分类Dev

为什么 clientIDArray 中的“None”值?

来自分类Dev

为什么它在输出中显示 None

来自分类Dev

为什么`for x in list [None:None]:`工作?

来自分类Dev

从 numpy 数组中删除 None 的数组

来自分类Dev

什么是<none>存储库和标签?为什么在使用docker build时它们会出现?

来自分类Dev

Python在numpy数组中找不到None

来自分类Dev

numpy `np.array()[None]` 行为

来自分类Dev

为什么这也返回None

来自分类Dev

为什么ajax请求为dom元素的值提交“ none”?

来自分类Dev

为什么 text-decoration: none 在 HTML <ins> 元素中不起作用

来自分类Dev

为什么当tedgecolor ='none'时edgecolor仍然存在

来自分类Python

使用None的NumPy数组切片

来自分类Dev

为什么my_list [None:]和my_list [:None]返回my_list?

来自分类Dev

Docker中的HOST和NONE网络有什么用?

来自分类Linux

Python中Pass和None有什么区别

来自分类Dev

为什么我在beautifulsoup 中的find 方法在抓取coursera 网站时返回None?

来自分类Dev

为什么字典在使用函数时返回 None ,而它在 Python 中返回我想要的函数

来自分类Dev

在Python中,为什么list(None)是一个错误,但[None]不是一个错误?

来自分类Dev

为什么Python repl为None打印不同的东西?

来自分类Python

为什么在Python中“ if not someobj:”优于“ if someobj == None:”?

Related 相关文章

  1. 1

    在numpy数组中查找none和nan的索引

  2. 2

    为什么pandas.where()返回'None'

  3. 3

    为什么`None is None is None`返回True?

  4. 4

    [...,None]在Numpy中是什么意思?

  5. 5

    在numpy中,[:, None]的选择有什么作用?

  6. 6

    “ is None”和“ == None”有什么区别

  7. 7

    当我在列表中打印出append()函数时,为什么我的输出是None None None而不是3 3 3

  8. 8

    为什么在进行递归时返回 None ?

  9. 9

    在Python上使用BeautifulSoup4时,为什么当我尝试打印“ <p>”元素时,结果为'None'?

  10. 10

    为什么 clientIDArray 中的“None”值?

  11. 11

    为什么它在输出中显示 None

  12. 12

    为什么`for x in list [None:None]:`工作?

  13. 13

    从 numpy 数组中删除 None 的数组

  14. 14

    什么是<none>存储库和标签?为什么在使用docker build时它们会出现?

  15. 15

    Python在numpy数组中找不到None

  16. 16

    numpy `np.array()[None]` 行为

  17. 17

    为什么这也返回None

  18. 18

    为什么ajax请求为dom元素的值提交“ none”?

  19. 19

    为什么 text-decoration: none 在 HTML <ins> 元素中不起作用

  20. 20

    为什么当tedgecolor ='none'时edgecolor仍然存在

  21. 21

    使用None的NumPy数组切片

  22. 22

    为什么my_list [None:]和my_list [:None]返回my_list?

  23. 23

    Docker中的HOST和NONE网络有什么用?

  24. 24

    Python中Pass和None有什么区别

  25. 25

    为什么我在beautifulsoup 中的find 方法在抓取coursera 网站时返回None?

  26. 26

    为什么字典在使用函数时返回 None ,而它在 Python 中返回我想要的函数

  27. 27

    在Python中,为什么list(None)是一个错误,但[None]不是一个错误?

  28. 28

    为什么Python repl为None打印不同的东西?

  29. 29

    为什么在Python中“ if not someobj:”优于“ if someobj == None:”?

热门标签

归档