Arreglar TypeError: el objeto 'mapa' no se puede suscribir en Python

Fariba Laiq 21 junio 2023
  1. Causa del error TypeError: 'map' object is not subscriptable en Python
  2. Solucione el error TypeError: 'map' object is not subscriptable en Python
Arreglar TypeError: el objeto 'mapa' no se puede suscribir en Python

Cada lenguaje de programación encuentra muchos errores. Algunos ocurren en tiempo de compilación, otros en tiempo de ejecución.

Este artículo discutirá el Error de tipo: el objeto 'mapa' no es subíndice, una subclase de Error de tipo. Nos encontramos con un TypeError cuando intentamos realizar una operación incompatible con el tipo de objeto.

Causa del error TypeError: 'map' object is not subscriptable en Python

Operaciones de mapa de Python 2 en Python 3

En Python 2, el método map() devuelve una lista. Podemos acceder a los elementos de la lista usando su índice a través del operador subscriptor [].

En Python 3, el método map() devuelve un objeto que es un iterador y no se puede subíndice. Si intentamos acceder al elemento utilizando el operador de subíndice [], se generará el mensaje TypeError: 'map' object is not subscriptable.

Código de ejemplo:

# Python 3.x
my_list = ["1", "2", "3", "4"]
my_list = map(int, my_list)
print(type(my_list))
my_list[0]

Producción :

#Python 3.x
<class 'map'>
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-1-07511913e32f> in <module>()
      2 my_list = map(int, my_list)
      3 print(type(my_list))
----> 4 my_list[0]

TypeError: 'map' object is not subscriptable

Solucione el error TypeError: 'map' object is not subscriptable en Python

Convierta el objeto de mapa en lista en Python 3

Si convertimos el objeto del mapa en una lista usando el método list(), podemos usar los métodos de operador/lista de subíndices.

Código de ejemplo:

# Python 3.x
my_list = ["1", "2", "3", "4"]
my_list = list(map(int, my_list))
print(my_list[0])

Producción :

#Python 3.x
1

Use el bucle for con iterador en Python 3

Podemos acceder a los elementos en el iterador usando un bucle for. Llama al método __next__() en la parte posterior e imprime todos los valores.

Código de ejemplo:

# Python 3.x
my_list = ["1", "2", "3", "4"]
my_list = list(map(int, my_list))
for i in my_list:
    print(i)

Producción :

#Python 3.x
1
2
3
4
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Artículo relacionado - Python Error