11.1 Uso de índices
En Python, extraer subcadenas es una operación común que te permite manipular datos de texto y extraer partes significativas de información de las cadenas. Veamos algunas maneras de cómo obtener subcadenas, cada una con sus características específicas y áreas de aplicación.
Uso de slices
Slices (slices)
son la forma principal de obtener subcadenas en Python. Un slice en Python se crea utilizando la sintaxis string[start
:stop
:step
],
donde:
start
— índice inicial (inclusive),stop
— índice final (no inclusivo),step
— paso con el que se extraen los caracteres.
La sintaxis de slices permite especificar los índices inicial y final de la subcadena que deseas extraer.
text = "Hello, world!"
substring = text[7:12] # Mostrará 'world'
11.2 Uso incompleto de índices
No es necesario especificar todos los tres índices para extraer una subcadena.
- Si
start
se omite, el slice comienza desde el principio de la cadena. - Si
stop
se omite, el slice se extiende hasta el final de la cadena. - Si
step
se omite, los caracteres se extraen uno por uno.
Ejemplos:
Vamos a escribir un ejemplo para obtener una subcadena comenzando desde el séptimo carácter hasta el final de la cadena
text = "Hello, world!"
substring = text[7:] # Mostrará 'world!'
Ahora desde el inicio de la cadena hasta el décimo carácter. Espero que recuerdes que el último carácter del rango no se incluye en la subcadena resultado.
text = "Hello, world!"
substring = text[:10] # Mostrará 'Hello, wor'
11.3 Índices negativos
Los índices negativos en Python te permiten acceder a los elementos de una cadena comenzando desde el final. Usar índices negativos a menudo hace que el código sea más legible y conveniente, especialmente cuando necesitas trabajar con el final de una cadena.
Obtener el último carácter de una cadena:
text = "Python"
last_char = text[-1]
print(last_char) # Mostrará: 'n'
Obtener el penúltimo carácter de una cadena:
text = "Python"
second_last_char = text[-2]
print(second_last_char) # Mostrará: 'o'
Para obtener los últimos tres caracteres de una cadena:
text = "Python"
last_three = text[-3:]
print(last_three) # Mostrará: 'hon'
Para obtener la cadena excluyendo el último carácter:
text = "Python"
all_but_last = text[:-1]
print(all_but_last) # Mostrará: 'Pytho'
Uso avanzado de slices
Con el parámetro step
puedes crear slices más complejos, por ejemplo, para extraer caracteres en orden inverso:
# Invertir la cadena
print(text[::-1]) # '!dlrow ,olleH'
GO TO FULL VERSION