ЗДЕСЬ положение Android SDK [дубликат]

Структура данных массива numpy реализована в C. Размеры массива хранятся в структуре C. Они не хранятся в корте Python. Поэтому каждый раз, когда вы читаете атрибут shape, создается новый кортеж Python для новых целочисленных объектов Python. Когда вы используете arr.shape[0], этот кортеж затем индексируется, чтобы вытащить первый элемент, что добавит немного дополнительных накладных расходов. len(arr) должен только создать целое число Python.

Вы можете легко убедиться, что arr.shape создает новый кортеж каждый раз, когда он читается:

In [126]: arr = np.random.randint(1, 11, size=(3, 4, 5))

In [127]: s1 = arr.shape

In [128]: id(s1)
Out[128]: 4916019848

In [129]: s2 = arr.shape

In [130]: id(s2)
Out[130]: 4909905024

s1 и s2 имеют разные id s; они представляют собой разные кортежи.

0
задан Shirokov Art 18 January 2019 в 21:07
поделиться

1 ответ

Это происходит потому, что posManager.getPosition() возвращает ноль. Необходимо убедиться, что код:

  1. не возвращает ноль или
  2. не вызывает getCoordinate() в случае, если posManager.getPosition() возвращает ноль.
0
ответ дан entpnerd 18 January 2019 в 21:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: