Python numpy,其中包含元组数组

Python numpy,其中包含元组数组,python,numpy,tuples,Python,Numpy,Tuples,为什么我不能在数组中找到元组的位置?毕竟,底部的表达式打印的是True foo = numpy.array([(5, 30), (5,), 5]) bar = numpy.where(foo==foo[0]) print(bar) 打印(数组([],dtype=int64),) 打印True这是因为: foo = numpy.array([(5, 30), (5,), 5]) bar = numpy.where(foo==foo[0]) print(bar) import numpy fo

为什么我不能在数组中找到元组的位置?毕竟,底部的表达式打印的是
True

foo = numpy.array([(5, 30), (5,), 5])
bar = numpy.where(foo==foo[0])
print(bar)
打印
(数组([],dtype=int64),)

打印
True

这是因为:

foo = numpy.array([(5, 30), (5,), 5])
bar = numpy.where(foo==foo[0])
print(bar)
import numpy

foo = numpy.array([(5, 30), (5,), 5])
bar = numpy.where(foo==foo[0])
print(foo==foo[0])

False
这就是为什么会得到一个空数组。列表理解备选方案是
[v for v in foo if v==foo[0]]
将导致
[(5,30)]

这是因为:

import numpy

foo = numpy.array([(5, 30), (5,), 5])
bar = numpy.where(foo==foo[0])
print(foo==foo[0])

False

这就是为什么会得到一个空数组。列表理解的替代方法是
[v for v in foo if v==foo[0]]
将导致
[(5,30)]

foo
是一个
dtype=object
数组(不同大小的元组)。许多常见的数值数组操作(包括比较)都没有针对此数据类型实现
foo
应该是一个列表。
foo
是一个
dtype=object
数组(不同大小的元组)。许多常见的数值数组操作(包括比较)都没有针对此数据类型实现
foo
应该是一个列表。