Arreglar el error string indices must be integers en Python

Manav Narula 14 abril 2022
Arreglar el error string indices must be integers en Python

Una cadena es una colección de caracteres. En Python, se puede considerar como una iteración de caracteres.

Cada carácter de una cadena tiene un índice específico. Podemos acceder fácilmente a los caracteres en diferentes posiciones usando sus índices.

En este artículo, el error string indices must be integers de Python. Esto es un TypeError.

Se produce un TypeError en Python cuando se realiza una operación con un tipo de datos no válido.

Analicemos ahora una situación en la que podría ocurrir este error. Consulte el siguiente código.

a = "SampleString"
print(a["e"])

Producción :

TypeError: string indices must be integers

Puede ver que el código anterior genera el error discutido.

Estamos tratando de acceder a un carácter individual sin su índice en el código anterior. Como se discutió anteriormente, necesitamos proporcionar el índice del carácter entre corchetes para lograr esto.

Vea el código a continuación.

a = "SampleString"
print(a[5])

Producción :

e

El código anterior devuelve el carácter e, ya que está en la 6ª posición.

Tenga en cuenta que el primer elemento se almacena en la posición 0 en Python. La función len() se puede utilizar para devolver la longitud de la cadena.

Otra situación en la que podemos encontrar este error es al realizar una operación de corte de cadenas. En el corte de cadenas, extraemos elementos entre posiciones dadas.

Especificamos las posiciones inicial y final entre corchetes. Ahora, veamos el siguiente ejemplo.

a = "SampleString"
print(a[(5, 2)])

Producción :

TypeError: string indices must be integers

Pasamos los índices correctamente en el ejemplo anterior, pero como una tupla. Necesitamos separarlos usando dos puntos : para superar este error.

Por ejemplo:

a = "SampleString"
print(a[2:5])

Producción :

mpl
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artículo relacionado - Python String

Artículo relacionado - Python Error