web-dev-qa-db-ja.com

タイプ 'map'のオブジェクトには、Python 3のlen()がありません

Python 3.に問題があります。Python 2.7コードを取得しましたが、現時点では更新しようとしています。エラーが表示されます。

TypeError:タイプ 'map'のオブジェクトにはlen()がありません

この部分で:

str(len(seed_candidates))

このように初期化する前に:

seed_candidates = map(modify_Word, wordlist)

だから、誰かが私がしなければならないことを私に説明できますか?

(編集:以前は、このコード例はsetの代わりにmapを使用していたため間違っていました。現在更新されています。)

28
Sonius

Python 3、maplistではなくマップオブジェクトを返します:

>>> 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
54
TerryA