python-slices

Qué son y cómo usar Slices en Python

Los slices en Python son una herramienta muy útil, que nos permite extraer porciones de secuencias de elementos (como listas, tuplas o cadenas) con muy poco código.

Los slices nos permiten trabajar con fragmentos específicos de una secuencia, sin tener que modificar ni iterar sobre la secuencia.

La sintaxis básica para crear un slice en Python es la siguiente:

secuencia[inicio:fin:paso]
  • inicio: Índice donde comienza el slice (incluido)
  • fin: Índice donde termina el slice (no incluido)
  • paso: Tamaño del paso o incremento entre elementos del slice (opcional)

Consideraciones especiales

Omisión de valores valores

Podemos omitir uno, varios, o incluso todos los parámetros del Slice. Este se comportará distinto cada omisión.

Si no especificamos:

  • El inicio, el slice comenzará desde el primer elemento
  • El fin, el slice terminará en el último elemento
  • El paso, el slice usará un paso de 1
primeros_salvo_tres = numeros[3:]  # Extrae los elementos del 3 al final
primeros_tres = numeros[:3]  # Extrae los tres primeros elementos

Ver más abajo los ejemplos para entender bien los conceptos 👇

Uso de índices negativos

Python permite usar índices negativos para referirse a elementos relativos final de la secuencia (en lugar que desde el principio).

Parece un poco complicado, y al principio lía un poco. Pero básicamente,

ultimos_tres = numeros[-3:]  # Extrae los últimos tres elementos
primeros_salvo_tres = numeros[:-3]  # Extrae los elementos, salvo los tres últimos

Por otro lado, si el paso, es negativo, el Slice recorre la secuencia en orden inverso.

Nuevamente, ver más abajo los ejemplos para entender bien los conceptos 👇

Modificación de valores con slices

Los Slices también pueden ser utilizados para modificar valores en una secuencia.

frutas = ["manzana", "banana", "cereza", "dátil", "uva"]

frutas[1:3] = ["pera", "naranja"]  # Reemplaza "banana" y "cereza" por "pera" y "naranja"

En este caso,

  • frutas[1:3] selecciona los elementos "banana" y "cereza"
  • Los reemplaza con "pera" y "naranja".

Ejemplos prácticos

Supongamos que tenemos una lista de números:

numeros = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Ahora, veamos cómo el Slicing se comporta con diferentes combinaciones de inicio, fin y paso: