¿Qué es slice() en Python y para qué puedes usarlo?

| Última modificación: 5 de diciembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

El slice() en Python es una técnica que hace posible que accedamos a partes de secuencias entre las que se encuentran listas, tuplas o cadenas de texto sin tener que escribir bucles o recorrer manualmente los elementos. En este post te enseñaremos que este comando es mucho más de lo que piensas.

slice() en Python

¿Qué es slice() en Python?

El slice() en Python nos permite crear objetos de corte que definen un rango dentro de cierta secuencia. En otras palabras, es una forma elegante de obtener partes específicas de listas, tuplas o inclusive cadenas de texto. La función en Python toma tres parámetros que son opcionales: el valor del inicio, el del fin y el valor de paso. Con estos valores ya puedes decidir qué índice empezar y hasta qué índice terminar, también puedes elegir qué elementos omitir entre estos índices.

La estructura de slice() es la siguiente:

slice(start, end, step)

Desglosemos por partes:

  • start: este parámetro es el índice desde donde empezar el corte. Si no se proporciona, por defecto comienza desde el índice 0.
  • end: es el índice donde se detiene el corte. Este índice no se incluye en el resultado.
  • step: es opcional e indica el número de posiciones que se deben saltar entre cada elemento. El valor por defecto es 1, lo que significa que tomas todos los elementos.

¿Aun tienes dudas de su funcionamiento? Veamos un ejemplo en el que tienes una tupla y quieres acceder solo a los primeros tres elementos. Con la función slice() es muy fácil:

a = ("a", "b", "c", "d", "e", "f", "g", "h")
x = slice(3)
print(a[x])

En este ejemplo el objeto slice(3) selecciona los primeros tres elementos de la tupla, es decir, (‘a’, ‘b’, ‘c’).

¿Cómo usar slice() con diferentes secuencias?

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Podrias pensar que slice() se usa exclusivamente con tuplas, pero no, porque también se puede usar con listas y cadenas de texto. Veamos algunos ejemplos para que entiendas mejor:

  • Uso de slice() con listas: Si tienes una lista de números y deseas obtener una sublista de ciertos elementos, puedes hacer uso de slice():
numeros = [1, 2, 3, 4, 5, 6, 7, 8]
x = slice(2, 6)
print(numeros[x])

Este código devuelve los números del índice 2 al 5, es decir, [3, 4, 5, 6].

  • Uso de slice() con cadenas de texto: También puedes utilizar slice() con cadenas de texto del siguiente modo:
texto = "Bienvenidos"
x = slice(4, 9)
print(texto[x])

Este código nos devuelve “venido”, porque hemos pedido que se corte de la posición 4 a la 9, sin incluir la 9.

¿Cómo usar el parámetro step?

Esta es una de las novedades más interesantes del slice(), el parámetro step. Este nos permite controlar la frecuencia con la que tomamos los elementos dentro de un rango específico. En los casos en los que quieres obtener solo cada segundo o tercer elemento de una secuencia, puedes usarlo y te será de gran utilidad. Veamos:

En este ejemplo tenemos una lista de números y queremos obtener solo los elementos en posiciones impares:

numeros = [1, 2, 3, 4, 5, 6, 7, 8]
x = slice(0, 8, 2)
print(numeros[x])

El resultado será [1, 3, 5, 7], ya que estamos diciendo que tome los elementos desde el índice 0 hasta el 7 (sin incluir el 8) pero saltando de dos en dos.

Manipular datos en una lista por medio de slice()

Los ejemplos son la mejor manera de entender cómo funciona el código, veamos uno más que nos instruye sobre el uso de slice() para manipular datos en una lista:

Imagina que estás trabajando en un proyecto de programación y necesitas analizar datos almacenados en una lista. Puedes utilizar slice() para extraer diferentes partes de la lista sin tener que escribir código de forma redundante. Por ejemplo, si quieres trabajar solo con los primeros 5 datos de una lista de 1000 elementos, lo harías de manera que:

datos = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  # Lista de ejemplo
primeros_datos = slice(5) # Esto te da los primeros 5 elementos
print(datos[primeros_datos])

El resultado sería [1, 2, 3, 4, 5], sin complicaciones adicionales.

Si quieres seguir aprendiendo sobre Python y otros lenguajes básicos para incursionar en el mundo del desarrollo de software, no dudes en inscribirte en nuestro bootcamp de programación para principiantes. En él aprenderás a ser un programador de primera y podrás conseguir empleos geniales en programación. ¡No dejes de aprovechar esta oportunidad!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.