ndarray.item(*args)
概述
把一个numpy的数组的一个元素复制成标准的Python的标量,然后返回这个值。
这个是没有使用item方法的结果:
a=numpy.zeros((255,255,3),numpy.uint8)
type(a[1,1,1])
Out[25]: numpy.uint8
直接使用内置的type方法查看,直接索引ndarray里面的值显示它是一个uint8(在numpy数组里面设定)类型的值。
type(a.item((1,1,1)))
Out[26]: int
这个是使用item方法的返回值,这个时候的uint8就被转化为内置的int类型。
参数
参数只有一个,用于索引要转化的元素,分成三种情况。
·为none,也就是不传入参数,这个只适用于只有一个元素的ndarray数组,因为根本不用索引。
·为一个int类型的数。这个会被直接按照顺序进行索引。
·为一个int类型元组,按照元组进行索引
这里我有一个疑问,就是文档里面提到如果ndarray数组的类型是longdouble或者是clongdouble的时候,item会返回一个数组,如果返回值的范围确定的话,会返回元组。但是我试了一下:
type(a[1])
Out[38]: numpy.longdouble
b=a.item(1)
type(b)
Out[40]: numpy.longdouble