J'ai un problème avec Python 3. J'ai le code Python 2.7 et j'essaie de le mettre à jour pour l'instant. Je reçois le message d'erreur suivant:
TypeError: l'objet de type 'map' n'a pas de len ()
à cette partie:
str(len(seed_candidates))
Avant de l'initialiser comme ça:
seed_candidates = map(modify_Word, wordlist)
Alors, quelqu'un peut-il m'expliquer ce que je dois faire?
(EDIT: Auparavant, cet exemple de code était incorrect car il utilisait set
à la place de map
. Il a été mis à jour maintenant.)
Dans Python 3, map
renvoie un objet de carte qui n'est pas un 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()
Vous pouvez le convertir en liste puis en obtenir la longueur:
>>> print(len(list(L)))
10