Se si utilizza numpy
, questo è facile:
slice = arr[:2,:2]
o se si desidera che le 0 di,
slice = arr[0:2,0:2]
si otterrà lo stesso risultato.
* nota che slice
è in realtà il nome di un tipo incorporato. In generale, consiglierei di dare al tuo oggetto un "nome" diverso.
Un altro modo, se si sta lavorando con le liste di liste *:
slice = [arr[i][0:2] for i in range(0,2)]
(Si noti che il 0 di qui sono inutili:. [arr[i][:2] for i in range(2)]
sarebbe anche lavorare).
Quello che ho fatto è che prendo ogni riga desiderata 1 alla volta (arr[i]
). Quindi affondo le colonne che voglio da quella riga e la aggiungo alla lista che sto costruendo.
Se si tenta ingenuamente: arr[0:2]
Si ottengono le prime 2 righe che se si taglia nuovamente arr[0:2][0:2]
, si stanno solo tagliando nuovamente le prime due righe.
* Questo in realtà funziona anche per gli array numpy, ma sarà lento rispetto alla soluzione "nativa" che ho postato sopra.
Quale tipo di dati è 'arr'? È una lista di liste? – mgilson
@mgilson Ho aggiornato il tipo nella domanda – SlightlyCuban