2011-03-18 18 views
8

Estoy familiarizado con cortar, no puedo entender esto y he intentado cambiar algunos de los valores para intentar ilustrar lo que está pasando, pero no tiene sentido para mí.Rebanando Lista anidada

De todos modos, aquí está el ejemplo:

l = [[0, 0, 0], [0, 1, 0], [1, 0, 0], [1, 1, 1]] 
print l[:,0:2] 

El resultado es:

[[0, 0], [0, 1] [1, 0], [1, 1]] 

Estoy tratando de traducir esto como "corte de índice de 0 a 0,2, por incremento a 2", que No tiene ningún sentido para mí.

+2

¿No te faltan algunas comas? Obtengo SyntaxError con ese código en Python 2.7. –

Respuesta

10

Lo que está haciendo es básicamente cortar en varios ejes. Como l es una lista bidimensional y desea dividir la segunda dimensión, utiliza una coma para indicar la siguiente dimensión.

el , 0:2 selecciona los primeros dos elementos de la segunda dimensión.

Hay una explicación muy buena here. Recuerdo haber aclarado bien las cosas cuando me enteré de ello.

Cuestiones relacionadas