Что ... означает в коде NumPy? - PullRequest
       5

Что ... означает в коде NumPy?

6 голосов
/ 22 октября 2010

А как это называется?Я не знаю, как искать это;Я попытался назвать это многоточием с Google.Я не имею в виду интерактивный вывод, когда точки используются для указания того, что полный массив не отображается, но, как и в коде, который я просматриваю,

xTensor0[...] = xVTensor[..., 0]

в моих экспериментах он, похоже, функционирует аналогично : в индексировании, но заменяет несколько :, делая x[:,:,1] эквивалентным x[...,1].

Ответы [ 3 ]

7 голосов
/ 22 октября 2010

Да, вы правы. Заполняет столько :, сколько требуется. Единственная разница возникает при использовании нескольких эллипсов. В этом случае первый многоточие действует таким же образом, но каждый оставшийся преобразуется в один :.

3 голосов
/ 22 октября 2010

Хотя эта функция существует главным образом для поддержки numpy и других подобных модулей, она является основной функцией языка и может использоваться где угодно, например:

>>> class foo:
...   def __getitem__(self, key):
...     return key
... 
>>> aFoo = foo()
>>> aFoo[..., 1]
(Ellipsis, 1)
>>> 

или даже:

>>> derp = {}
>>> derp[..., 1] = "herp"
>>> derp
{(Ellipsis, 1): 'herp'}
0 голосов
/ 22 октября 2010

Документация здесь: http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html

Это, ну, в общем, то, что вы описываете.

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