Introducción
Contenido
El término segmentar en programación generalmente se refiere a obtener una subcadena, subtupla o 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 Slicing Strings en Python.
Cortar una String en Python
Hay un par de formas de cortar una String, la más común es mediante el :
operador con la siguiente sintaxis:
string[start:end]
string[start:end:step]
los start
parámetro representa el índice inicial, end
es el índice final, y step
es el número de elementos sobre los que se «pasa».
Sigamos adelante y cortemos una String:
string = 'No. I am your father.'
print(string[4:20])
Esto omitirá los primeros cuatro caracteres de la cadena:
I am your father
Encontrar el prefijo y el sufijo de longitud n con notación de corte
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 de -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:
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:
Now,
die.
Invertir una cadena usando notación de corte
Para invertir una cadena, podemos establecer el step
de la notación de corte a -1
. Esto hace que el paso retroceda, incluyendo cada elemento sobre el que pisa, lo que hace que la cadena se imprima al revés:
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:
.em erofeb rehtaf ym ekil ,ideJ a ma I .ssenhgih ruoy ,deliaf ev’uoY .edis krad eht ot nrut reven ll’I
Encontrar cada enésimo carácter de una cadena
Extraer cada n-ésimo carácter se reduce a configurar el parámetro de paso en n
. Si quieres cada segundo personaje, pasarás por encima de cada segundo personaje también:
n = 3
string = 'There’s always a bigger fish.'
print(string[::n])
Este código se imprimirá cada tres letras:
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 ú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.