Listas
4. Slicing (nuevo 2026)
¿Qué son los slices en Python?
Los slices (o rebanadas) son una forma muy útil y concisa de extraer partes de secuencias en Python, como listas, tuplas o cadenas, sin necesidad de recorrerlas manualmente.
Sintaxis básica
La notación para crear un slice es:
secuencia[inicio:fin:paso]
-
inicio: índice donde empieza (incluido).
-
fin: índice donde termina (no incluido).
-
paso: salto entre elementos (opcional).
Observación:
Notar la similitud con los parámetros de la función range().
Omisión de valores
En un slice puedes omitir partes:
-
Si no pones inicio, empieza desde el principio.
-
Si no pones fin, va hasta el final.
-
Si no pones paso, el salto por defecto es 1.
Ejemplos:
numeros[:3] # primeros 3 elementos
numeros[3:] # del índice 3 a la derecha
Índices negativos
-
Puedes usar índices negativos para contar desde el final de la secuencia.
-
Si el paso es negativo, el slice recorre la secuencia en sentido inverso.
Ejemplos:
numeros[-3:] # últimos 3 elementos
numeros[::-1] # lista invertida
Modificar secuencias con slices
Los slices no solo sirven para leer datos: también puedes modificar parte de una lista reemplazando elementos.
frutas[1:3] = ["pera", "naranja"]
Aquí se cambian dos elementos por otros dos.
Ejemplos prácticos
Dada la lista:
numeros = [0,1,2,3,4,5,6,7,8,9]
| Slice | Resultado |
|---|---|
numeros[:] |
Copia completa |
numeros[2:7] |
[2, 3, 4, 5, 6] |
numeros[:5] |
[0, 1, 2, 3, 4] |
numeros[::2] |
[0, 2, 4, 6, 8] |
numeros[::-1] |
[9, 8, ..., 0] |
Resumientdo:
✔ Los slices permiten trabajar con partes de secuencias de forma muy compacta.
✔ El índice fin no es inclusivo.
✔ El paso puede ser negativo para invertir la secuencia.
✔ Puedes combinar inicio, fin y paso para obtener sublistas específicas.
En Python los slices funcionan con cualquier tipo de secuencia, y eso incluye:
✔ listas ( esto vemos!)
✔ tuplas ( esto NO vemos)
✔ strings (cadenas de caracteres esto vemos!)
✔ rangos ( esto vemos!)
Ejemplos de algo ya visto strings:
texto = "Python"
print(texto[0:3]) # 'Pyt'
print(texto[:4]) # 'Pyth'
print(texto[2:]) # 'thon'
print(texto[::2]) # 'Pto'
print(texto[::-1]) # 'nohtyP