print - split python
El objeto de tipo ''mapa'' no tiene len() en Python 3 (1)
Tengo un problema con Python 3. Obtuve el código de Python 2.7 y en este momento estoy intentando actualizarlo. Me sale el error
TypeError: el objeto de tipo ''map'' no tiene len ()
en esta parte:
str(len(seed_candidates))
Antes de inicializarlo así:
seed_candidates = map(modify_word, wordlist)
Entonces, ¿alguien puede explicarme lo que tengo que hacer?
(EDITAR: Anteriormente este ejemplo de código era incorrecto porque usaba set
lugar de map
. Se ha actualizado ahora).
En Python 3, map
devuelve un objeto map no una list
:
>>> L = map(str, range(10))
>>> print(L)
<map object at 0x101bda358>
>>> print(len(L))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type ''map'' has no len()
Puedes convertirlo en una lista y luego obtener la longitud desde allí:
>>> print(len(list(L)))
10