Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Cómo entender bien la notación slice de Python

3 de febrero de 2009

¿Alguno de vosotros tiene una buena referencia para entender la notación slice de Python? Creo que es una notación que puede ser muy potente, pero le falta una explicación sencilla de cómo funciona.


Estás leyendo una traducción autorizada de la pregunta Python's slice notation planteada por Simon en StackOverflow.


Respuestas

#1

En realidad la notación slice es más sencilla de lo que parece. Este es el resumen de sus principales opciones:

a[inicio:final] # desde el elemento 'inicio' hasta 'final'-1
a[inicio:]      # desde el elemento 'inicio' hasta el final del array
a[:final]       # desde el primer elemento hasta elemento 'final'-1
a[:]            # todos los elementos del array

Además de estos cuatro casos que son los más comunes, también puedes utilizar un tercer valor opcional llamado step o salto:

# desde el elemento 'inicio' hasta 'final' pero saltando
# el número de elementos indicado por 'salto'
a[inicio:final:salto]

Otra de las opciones más interesantes del slice es que el principio y el final pueden ser números negativos. Esto indica que se empieza a contar desde el final del array:

a[-1]    # selecciona el último elemento del array
a[-2:]   # selecciona los dos últimos elementos del array
a[:-2]   # selecciona todos los elementos excepto los dos últimos

Si existen menos elementos de los que quieres seleccionar, Python se porta bien y no muestra ningún error. Si por ejemplo el array sólo tiene un elemento y tratas de seleccionar a[:-2], el resultado es una lista vacía en vez de un mensaje de error. Como es posible que a veces te interese mostrar un error en estos casos, es algo que deberías tener en cuenta.

@librosweb

4 octubre 2014, 13:10