Вероятно, вы подумали по аналогии: «Чтобы получить элемент i, j, k, l
, я могу сделать
y[i][j][k][l]
, если эти индексы скаляры, так почему бы не использовать более общие вещи, такие как срезы?"
Разница и причина, по которой скаляры работают, а срезы не работают, заключается в том, что скалярное индексирование удаляет измерения, а срезы - нет, поэтому, когда y[i]
использовало первое измерение, [j]
предназначено для оставшегося первого, то есть бывшей второй, то естьты хочешь.В отличие от этого, y[:]
оставляет первое измерение на месте, поэтому вторая и все последующие операции индексации mistarget.
Это только одна из многих причин, которые вам следует учитывать при работе с многомерными массивами, которые практически всегда предпочитают y[ind1, ind2, ind3, etc.]
y[ind1][ind2][ind3][etc.]
Будь эти индексы скалярами, срезами или массивами.