Я заметил некоторое запутанное поведение при индексировании плоского массива numpy со списком кортежей (с использованием python 2.7.8 и numpy 1.9.1). Я предполагаю, что это связано с максимальным количеством измерений массива (я считаю, это 32), но я не смог найти документацию.Странное поведение индексирования кортежа массивом numpy
>>> a = np.arange(100)
>>> tuple_index = [(i,) for i in a]
>>> a[tuple_index] # This works (but maybe it shouldn't)
>>> a[tuple_index[:32]] # This works too
>>> a[tuple_index[:31]] # This breaks for 2 <= i < 32
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: too many indices for array
>>> a[tuple_index[:1]] # This also works...
Является ли список кортежей «сплющенным», если он составляет 32 элемента или больше? Это где-то документально?
Интересно, я получаю другое сообщение об ошибке: 'IndexError: неподдерживаемый индекс итератора'. Использование python 2.7 и numpy 1.8.2 – swenzel
К сожалению, я должен был указать версии (python 2.7.8; numpy 1.9.1). Я обновил вопрос. – kadrlica