Мне хорошо известно, что есть различия между списками и кортежами и что tuples aren 't только постоянные списки, но есть несколько примеров, где два фактически обрабатываются по-разному кодом (в отличие от соглашения о кодировании), поэтому я (sloppily) использовал их взаимозаменяемо.
Затем я наткнулся на случай, когда они дают совершенно другое поведение:
>>> import numpy as np
>>> a = np.arange(9).reshape(3,3)
>>> a
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> idx = (1,1)
>>> a[idx]
4
>>> idx = [1,1]
>>> a[idx]
array([[3, 4, 5],
[3, 4, 5]])
может кто-нибудь объяснить, что здесь происходит? Что еще более важно, где еще это ловушка появляется в scipy?