Или другими словами (процитировать документация )
Синтаксис основного среза: i: j: k, где i - начальный индекс, j - индекс остановки, а k - шаг (k> 0)
Теперь, если 'i' не задано, по умолчанию 0 для k> 0 и n - 1 для k <0. Если j не задано, по умолчанию используется значение n. </p>
Это для одномерного массива.
Теперь двухмерные массивы - это разные звери. Синтаксис среза представляет собой [rowrange, columnrange]
Итак, если вы хотите, чтобы все строки, но только последние два столбца, как в вашем случае, вы делаете
а [0: 3,1: 3].
Здесь [0: 3] означает все строки от 0 до 3. и [1: 3] означает все столбцы от столбца 1 до столбца 3.
Теперь, как вы можете спросить, даже если у вас есть только 3 столбца и нумерация начинается с 1, технически эта команда должна возвращать 3 столбца правильно. т.е. столбец 1, столбец 2, столбец 3. Это сложная часть этого синтаксиса. Вы должны начать отсчет ПОСЛЕ первого номера. Поэтому, когда вы говорите [1: 3], вы на самом деле говорите, дайте мне столбец 2 и столбец 3. Какие последние два столбца вы хотите.
Теперь, если вы не знаете, какова длина вашей матрицы или хотите, чтобы все строки были, вы можете просто оставить эту часть пустой.
* 1015 т.е. *
a [:, 1: 3] также будет работать.
То же самое относится и к столбцам. т.е. если вы хотите сказать, что все столбцы, кроме первой строки, вы бы написали
а [0: 1,:]
Теперь, как работает приведенный выше ответ [:, 1:], потому что когда вы говорите [1:] для столбцов, это означает, что вы даете мне что-нибудь ПОСЛЕ первого столбца и до конца всех столбцов. то есть пустое означает «до конца».
К настоящему времени вы должны понимать, что все, что находится по обе стороны от запятой, является подмножеством одномерного случая, который я впервые упомянул выше. т.е. если вы хотите указать свои строки, используя размеры шага, вы можете написать
а [:: 2,1]
Который в вашем случае вернется
массив ([[2, 3],
[5, 6]])
То есть команда объясняется так: дай мне все строки, принимая по 2 за раз. Плюс дайте мне только последние 2 столбца.
Мне потребовалось некоторое время, чтобы понять. Так что вставьте это здесь, на случай, если это кому-нибудь поможет.