Используя numpy .ndarray.ndim (arr), напрямую получите количество измерений - PullRequest
0 голосов
/ 28 апреля 2020

Могу ли я напрямую использовать команду numpy .ndarray.ndim (arr), чтобы получить no. размеров для массива ?? без импорта numpy. Возможно ли это?

Ответы [ 3 ]

1 голос
/ 28 апреля 2020

нет, но вы можете использовать атрибут массива arr.ndim, чтобы получить его. ndarray.ndim

0 голосов
/ 28 апреля 2020
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 должен содержать предопределенный тип элемента, как описано в документации. У него нет общего типа объекта, поэтому он всегда будет одномерным.

0 голосов
/ 28 апреля 2020

Нет, без импорта модуля вы не можете использовать что-либо определенное в этом модуле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...