String slicing de Python con ejemplos

String slicing de Python con ejemplos

En esta ocasión, pasamos a ver el string slicing de Python (el rebanado o corte de strings en español). Es algo que vamos a utilizar en nuestro proyecto de bases de datos, de modo que necesitarás entender este tema. Por supuesto, no solo lo usarás en el proyecto. Tiene muchos usos prácticos.

¿Qué es el string slicing de Python?

El nombre string slicing lo dice todo. Esta es una técnica de Python con la que cortar partes de strings. A partir de ese corte, obtenemos subcadenas de una cadena original.

Para emplear el string slicing de Python necesitas un nuevo operador, [:]. Este operador se conoce como slicing.

Sintaxis del slicing de Python

La sintaxis de uso de este operador es muy sencilla. Tenemos tres secciones para manejar el corte.

cadena[inicio:fin:paso]

Como verás, la sintaxis recuerda mucho a la expresión de un bucle for.

En cada uno de los pasos, se indica el número de caracteres.

  • Inicio: caracter de inicio. Si queremos empezar desde el primero, le ponemos un 0.
  • Fin: hasta que caracter queremos cortar el string.
  • paso: es el tamaño del salto que queremos hacer entre caracteres.

Esto lo entenderás mucho mejor con unos ejemplo prácticos.

Ejemplos de uso del slicing de Python

Empecemos por algo sencillo. Tengo la siguiente cadena:

sitio_web = "www.programacionfacil.org"

Quiero obtener una subcadena que contenga solo las tres www.

La posición de inicio es 0 (primer carácter en el índice del string) y vamos hasta el fin del corte, con la posición 3 (esta no se incluye).

sitio_web = "www.programacionfacil.org"

subcadena = sitio_web[0:3]

print(subcadena)

Resultado en la consola

www

Se puede especificar el último valor, el de paso. Sin embargo, si no queremos saltar caracteres, puedes omitir ponerlo. El equivalente a no escribirlo es este:

sitio_web = "www.programacionfacil.org"

subcadena = sitio_web[0:3:1]

print(subcadena)

Resultado en la consola

www

Ahora, supongamos que queremos obtener un substring con "programacionfacil".

sitio_web = "www.programacionfacil.org"

subcadena = sitio_web[4:21:1]

print(subcadena)

Resultado en la consola

programacionfacil

Veamos un ejemplo con un valor de paso de 2:

numeros = "0123456789"

subcadena = numeros[0:10:2]

print(subcadena)

Resultado en la consola

02468

Aquí obtenemos todos los pares, ya que empieza en el 0. Se salta el 1, nos guarda el 2. Se salta el 3 y nos da el 4. Así hasta llegar al final.

Slicing desde el principio hasta el final

Hay una forma de omitir tener que poner el valor de inicio si queremos empezar desde el primer carácter del string. Omitirlo de esta forma:

sitio_web = "www.programacionfacil.org"

subcadena = sitio_web[:10]

print(subcadena)

Resultado en la consola

www.progra

Esto hace que antes de los dos puntos, sea lo mismo que poner un 0. Puesto que el 10 viene después de los dos puntos (:), se toma como valor de fin.

Si quieres utilizar detrás el valor de salto, lo puedes hacer, si no, se toma como un 1, el valor por defecto.

Hacer lo del ejemplo anterior, en realidad, es como poner esto:

subcadena = sitio_web[0:10:1]

Índices negativos con slicing de Python

Otra cosa que puedes hacer, es utilizar valores negativos ¿Te acuerdas cuando usamos en el capítulo 4 las posiciones negativas para acceder a las últimas posiciones de las listas? Pues aquí es lo mismo.

sitio_web = "www.programacionfacil.org"

subcadena = sitio_web[:-4]

print(subcadena)

Resultado en la consola

www.programacionfacil

En este caso, si escribiéramos todos los valores, quedarían como en el siguiente código. Te lo pongo por si te ayuda a entender mejor el ejemplo.

sitio_web = "www.programacionfacil.org"

subcadena = sitio_web[0:-4:1]

print(subcadena)

Resultado en la consola

www.programacionfacil

Podemos hacer muchas combinaciones.

Slicing de Python con listas o tuplas

El slicing, no solo sirve para trabajar con los índices de los strings. También puedes utilizarlo en listas o tuplas Python:

colores = ["rojo", "azul", "verde", "amarillo"]

sublista = colores[:-2]

print(sublista)

En este caso, cortamos y desechamos las dos últimas posiciones de la lista.

Resultado en la consola

['rojo', 'azul']

Todavía podemos ver más cosas con esto, pero hay que seguir avanzando. Te dejo unos ejercicios para que practiques un poco lo aprendido.

Continuamos con el proyecto de bases de datos en el siguiente capítulo.

No te pierdas nada de todo el contenido que tengo sobre Python.

Ejercicios sobre el string slicing de Python

Veamos unos cuantos ejercicios para que practiques con el string slicing de Python. Las soluciones las tendrás en el siguiente capítulo.

  1. Crea una variable y asígnale este string con la frase "Estoy estudiando Python". Luego, utiliza slicing para imprimir el primer caracter de la cadena.
  2. Ahora, usa el slicing para imprimir los 3 últimos caracteres de la cadena del ejercicio anterior.
  3. Imprime los caracteres de toda la frase, saltando uno cada vez.
  4. Finalmente, muestra todos los caracteres, menos el último.

2 comentarios en «0»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

curso sql Entrada anterior Descargar e instalar MySQL
curso sql Entrada siguiente Conectar con el servidor MySQL desde la consola y configurar variables de entorno