variable print length len for python python-3.x variable-length

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