Ответ 1
Если вы используете numpy
, это легко:
slice = arr[:2,:2]
или если вы хотите 0,
slice = arr[0:2,0:2]
Вы получите тот же результат.
* обратите внимание, что slice
на самом деле является именем встроенного типа. Как правило, я бы посоветовал дать вашему объекту другое "имя".
Другой способ, если вы работаете со списками списков *:
slice = [arr[i][0:2] for i in range(0,2)]
(Обратите внимание, что здесь 0 нет необходимости: [arr[i][:2] for i in range(2)]
также будет работать.).
Что я здесь сделал, так это то, что я принимаю каждую желаемую строку 1 за раз (arr[i]
). Затем я вырезаю столбцы, которые хочу получить из этой строки, и добавьте их в список, который я создаю.
Если вы наивно попробуйте: arr[0:2]
Вы получите первые 2 строки, которые, если вы затем снова нарисуете arr[0:2][0:2]
, вы снова нарезаете первые две строки.
* Это действительно работает и для массивов numpy, но это будет медленным по сравнению с "родным" решением, которое я разместил выше.