Python: notación de corte en cadena

En este tutorial, repasaremos ejemplos de cómo dividir una cadena en Python. También encontraremos un prefijo y un sufijo, invertiremos una cadena y encontraremos cada carácter n-ésimo en una cadena.

Introducción

El término rebanar en programación generalmente se refiere a obtener una subcadena, una subtupla o una sublista de una cadena, tupla o lista, respectivamente.

Python ofrece una variedad de formas sencillas de dividir no solo estos tres sino cualquier iterable. Un iterable es, como su nombre indica, cualquier objeto sobre el que se pueda iterar.

En este artículo, repasaremos todo lo que necesita saber sobre Cortar cadenas en Python.

Cortar una cadena en Python

Hay un par de formas de dividir una cadena, la más común es usar el operador : con la siguiente sintaxis:

1
2
string[start:end]
string[start:end:step]

El parámetro start representa el índice inicial, end es el índice final y step es el número de elementos que se "pasan" por encima.

Avancemos y cortemos una cadena:

1
2
string = 'No. I am your father.'
print(string[4:20])

Esto omitirá los primeros cuatro caracteres de la cadena:

1
I am your father

Búsqueda del prefijo y sufijo de longitud n con notación de división {#búsqueda del prefijo y sufijo de longitud n con notación de división}

Para encontrar el prefijo o sufijo de longitud n de una cadena, usaremos el mismo enfoque que se puede usar para encontrar la cola o la cabeza de una lista. Cortaremos desde el principio hasta n y desde -n hasta el final de la cadena.

En este caso, -n comenzará a contar desde el final de la cadena, hacia atrás, dándonos un sufijo:

1
2
3
4
5
6
7
n = 4
string = 'Now, young Skywalker, you will die.'

# Prefix of length n
print(string[:n])
# Sufix of length n
print(string[-n:])

Esto resulta en:

1
2
Now,
die.

Invierta una cadena usando la notación de corte

Para invertir una cadena, podemos establecer el ‘paso’ de la notación de corte en ‘-1’. Esto hace que el paso retroceda, incluidos todos los elementos que pisa, lo que da como resultado que la cadena se imprima de nuevo al revés:

1
2
string = 'I’ll never turn to the dark side. You’ve failed, your highness. I am a Jedi, like my father before me.'
print(string[::-1])

Este código daría como resultado:

1
.em erofeb rehtaf ym ekil ,ideJ a ma I .ssenhgih ruoy ,deliaf evuoY .edis krad eht ot nrut reven llI

Encontrar cada n-ésimo carácter en una cadena

La extracción de cada n-ésimo carácter se reduce a establecer el parámetro de paso en n. Si desea cada segundo carácter, también pasaría por encima de cada segundo carácter:

1
2
3
n = 3
string = 'There’s always a bigger fish.'
print(string[::n])

Este código imprimirá cada tercera letra:

1
Trslyaiefh

Conclusión

Cortar cualquier secuencia en Python es fácil, simple e intuitivo. La indexación negativa ofrece una manera fácil de adquirir los primeros o los últimos elementos de una secuencia, o invertir su orden.

En este artículo, hemos cubierto cómo aplicar la notación de corte en cadenas en Python.

Licensed under CC BY-NC-SA 4.0