Объект типа "карта" не имеет len() в Python 3
у меня проблема с Python 3. Я получил код Python 2.7, и на данный момент я пытаюсь его обновить. Я получаю сообщение об ошибке:
TypeError: объект типа "карта" не имеет len()
в этой части:
str(len(seed_candidates))
прежде чем я инициализировал его следующим образом:
seed_candidates = map(modify_word, wordlist)
так, может кто-нибудь объяснить мне, что я должен делать?
(EDIT: ранее этот пример кода был неправильным, потому что он использовал set
вместо map
. Он был сейчас обновляются.)
1 ответов
В Python 3, map
возвращает объект карты, а не 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()
вы можете преобразовать его в список, а затем получить длину оттуда:
>>> print(len(list(L)))
10