Я пытаюсь понять конкретную часть этой статьи .
Определение расширенной индексации означает, что x[(1,2,3),]
принципиально отличается от x[(1,2,3)]
. Последний эквивалентен x[1,2,3]
, который вызовет базовый выбор, тогда как первый вызовет расширенную индексацию. Обязательно поймите, почему это происходит.
Я экспериментировал со следующим кодом.
>>> import numpy as np
>>> a = np.arange(50).reshape(5,10)
>>> b = a[(2,2)]
>>> bb = a[(2,2),]
>>> a[2,2] = 50 # a[2,2] was 22 in the first place
>>> b
22 # this outcome confuses me!
Я думаю, b = a[(2,2)]
получит представление, поэтому, когда я изменю a[2,2]
, это будет сделано.
bb = a[(2,2),]
получит копию, так что ничего не произойдет, даже если я что-то сделаю на.
Но когда я меняю a[2,2]
с 22 на 50
То, что я ожидаю, b = a[(2,2)]
изменится на 50 а, а bb = a[(2,2),]
останется прежним.
Что не так со всем этим? Я неправильно понимаю или упускаю что-то важное?
Если да, поправьте меня и заранее поблагодарите!