Hoy veremos cómo iterar o recorrer una cadena en Python 3 carácter por carácter, o letra por letra si queremos verlo así.
Expondré 2 formas de hacerlo, la primera es usando un ciclo for pero sin índice, únicamente obteniendo el carácter. La segunda es recorrer una cadena letra por letra pero también llevar un registro del índice.
Recorrer cadena con foreach
Aquí está el primer método, el cual utiliza el ciclo foreach de Python. Es más expresivo y limpio, se ve así:
"""
2 formas de leer una cadena carácter por carácter
en Python 3: con y sin índice
@author parzibyte
"""
cadena = "¡Hola, mundo!"
# Método 1, sin índice
for caracter in cadena:
print(caracter)
De ese modo leemos cada letra de la oración, palabra o cadena. La “desventaja” es que no tiene un índice en caso de que sea requerido, por eso veremos el segundo método.
Leer cadena letra por letra y con índice
El segundo enfoque utiliza un ciclo con range
. Va desde 0 hasta la longitud de la cadena -1, así recorre toda la cadena, pues recordemos que los índices comienzan en 0.
Para obtener la longitud de una cadena como entero, usamos a len
. El código entonces queda así:
"""
2 formas de leer una cadena carácter por carácter
en Python 3: con y sin índice
@author parzibyte
"""
cadena = "¡Hola, mundo!"
# Método 2, con índice
for indice in range(len(cadena)):
caracter = cadena[indice]
print("En el índice {} tenemos a '{}'".format(indice, caracter))
Es como un simple ciclo numérico, pero ahora tomamos el índice. Y accedemos a la cadena como si fuera un arreglo o lista. De esta manera llevamos un índice numérico y el carácter.
Descargar ejemplos
Puedes descargar los ejemplos, primero configura Python 3. Después de eso, navega con la terminal hasta donde estén los archivos y ejecuta python leer.py
(el nombre del archivo puede cambiar)
Pingback: Posición o índice de un carácter o subcadena en cadena de Python - Parzibyte's blog