HOWTO · Python

TypeError: los índices de lista deben ser enteros, no STR en Python

Este tutorial demuestra cómo resolver TypeError: los índices de lista deben ser enteros o segmentos, no str en Python.

En este tutorial, nuestro objetivo es explorar cómo deshacerse del TypeError: los índices de la lista deben ser enteros o rebanadas, no str.

Este artículo aborda los siguientes temas.

  1. Comprender la causa raíz del problema.
  2. Reproducir el problema.
  3. Resolviendo el problema.

Comprenda la causa raíz del TypeError: los índices de la lista deben ser números enteros o segmentos, no str en Python

TypeError ocurre principalmente en Python cada vez que hay un problema con el tipo de datos que se están operando. Por ejemplo, agregar dos cadenas daría como resultado un TypeError porque no puede agregar dos cadenas.

Replique el TypeError: los índices de la lista deben ser enteros o rebanadas, no str en Python

Este problema se puede replicar con la ayuda del siguiente bloque de código.

Supongamos que estamos tratando de asignar el puntaje como 1, la edad como 2 y la calificación como 3 para un jugador en particular. Entonces estamos tratando de acceder a la puntuación del mismo jugador.

player = [1, 2, 3]
print(player["score"])

Como podemos ver en el bloque de código anterior, estamos tratando de encontrar un puntaje de atributo de una matriz llamada jugador.

La salida del bloque de código está debajo.

TypeError: list indices must be integers or slices, not str

Resolver el error en Python

Para resolver este problema, podemos usar directamente un diccionario en Python. El código ilustrado anteriormente se puede cambiar por el siguiente para eliminar el error.

player = {"score": 1, "age": 2, "rating": 3}
print(player["score"])

La salida del bloque de código está debajo.

1

Por lo tanto, con la ayuda de este tutorial, podemos resolver este TypeError en Python.