¿Qué es la segmentación (slicing) en Python?

La segmentación, slicing o rebanado en Python permite tomar un rango de elementos de una secuencia, puede ser una cadena, lista o tupla.

Para indicar los elementos que queremos considerar se utilizan los índices de cada elemento. Se coloca el índice inicial y final dentro de corchetes y separados por dos puntos. Veamos algunos ejemplos:

nombre = "Python"
nombre[2:6]
resultados = [2, 16, 18, 48, 3, 19, 24, 76]
resultados[2:7]

>>> nombre = «Python»
>>> nombre[2:6]
‘thon’
>>> resultados = [2, 16, 18, 48, 3, 19, 24, 76]
>>> resultados[2:7]
[18, 48, 3, 19, 24]

Es posible definir saltos entre los valores del rango seleccionado, de esta forma podemos hacer mas especifico el rango de valores que utilizaremos. La definición de los saltos se logra incluyendo un tercer numero.

resultados = [2, 16, 18, 48, 3, 19, 24, 76]
resultados[2:7:2]

>>> resultados = [2, 16, 18, 48, 3, 19, 24, 76]
>>> resultados[2:7:2]
[18, 3, 24]

Si en alguna posición omitimos el numero obtenemos diferentes resultados en base al valor por defecto.  Mientras que el valor por defecto para la primera posición es cero, el valor por defecto para segunda posición es la longitud de la serie y para la tercera posición es uno. 

  • Si dejamos la primera posición vacía el rango empezara desde el elemento 0.
  • Si dejamos la segunda posición vacía el rango considerara hasta el ultimo elemento de la serie.
  • Si dejamos vacía la posición que define los saltos se consideraran todos los elementos.
  • Si omitimos los 3 números, aparecerá la secuencia completa.

Vamos a utilizarlo en algunos ejemplos:

resultado = [2, 16, 18, 48, 3, 19, 24, 76]
resultados[:7:2]
resultados[2::2]
resultados[2:7:]
resultados[::]

>>> resultado = [2, 16, 18, 48, 3, 19, 24, 76]
>>> resultados[:7:2]
[2, 18, 3, 24]
>>> resultados[2::2]
[18, 3, 24]
>>> resultados[2:7:]
[18, 48, 3, 19, 24]
>>> resultados[::]
[2, 16, 18, 48, 3, 19, 24, 76]

La segmentación también nos permite utilizar números negativos, lo que nos permitirá tener diferentes comportamientos.

  • Si colocamos un número negativo en la primera posición el conteo empezara desde el ultimo elemento de la lista.
  • Si colocamos un número negativo en la segunda posición se omitirán los ultimo números de la secuencia
  • Si colocamos un número negativo en la tercera posición se invertirá el orden de la secuencia al momento de considerar los saltos.

Veamos algunos ejemplos mas:

resultados[-2::]
resultados[:-2:]
resultados[::-2]

>>> resultados[-2::]
[24, 76]
>>> resultados[:-2:]
[2, 16, 18, 48, 3, 19]
>>> resultados[::-2]
[76, 19, 48, 16]

En resumen:

Qué es la segmentación (slicing) en Python.

¿Qué te ha parecido la segmentación (slicing) en Python? ¿Ya lo habías utilizado antes?

¡No olvides suscribirte a nuestro boletín!

¡No enviamos spam! Lee más en nuestra política de privacidad

1 comentario en «¿Qué es la segmentación (slicing) en Python?»

Los comentarios están cerrados.