Выражение x[:][:]
, сокращенно от (x[:])[:]
. Если вы пишете x[:]
, то вы генерируете «представление» для массива x
, в этом представлении учитываются все элементы x
, и, следовательно, он представляет собой пустой массив с точно такой же формой.
Хотя x[:]
и x
являются разными объектами, они, таким образом, содержат одинаковые данные и имеют одинаковую форму. Позвонив по номеру (x[:])[:]
, вы тем самым создаете другое представление. Numpy увидит, что x[:]
является представлением о x
, и, таким образом, создаст другое представление о x
, но, таким образом, это снова представление. Таким образом, вы можете повторять один и тот же «трюк» произвольное количество раз.