Arreglar TypeError: el objeto 'mapa' no se puede suscribir en Python
-
Causa del error
TypeError: 'map' object is not subscriptable
en Python -
Solucione el error
TypeError: 'map' object is not subscriptable
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
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.
LinkedInArtículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python