我可以直接使用命令numpy.ndarray.ndim(arr)来获取数组的维度编号吗?可能吗??
不, 但是您可以使用数组属性arr.ndim
来获取它。ndarray.ndim
不,如果不导入模块,则不能使用该模块中定义的任何内容。
In [954]: import array
In [955]: a = array.array('i')
In [956]: a.fromlist([1,2,3])
In [957]: a
Out[957]: array('i', [1, 2, 3])
In [958]: len(a)
Out[958]: 3
就像列表一样,a
有一个len
。 它没有ndim
:
In [959]: a.ndim
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-959-2cb81154a11f> in <module>
----> 1 a.ndim
AttributeError: 'array.array' object has no attribute 'ndim'
ndim
是numpy.ndarray
的属性。 这与list
或array
无关。 如果给定 thosr 之一,np.ndim
首先将其转换为np.asarray(a)
:
In [960]: np.ndim(a)
Out[960]: 1 # always 1
In [961]: np.ndim([1,2,3])
Out[961]: 1
虽然列表可以嵌套,但array.array
必须包含预定义的元素类型,如文档所示。 它没有通用对象类型,因此始终是 1 维的。