1. ホーム
  2. python

[解決済み] Python 3 では、'map' 型のオブジェクトは len() を持ちません。

2022-02-02 01:13:59

質問

Python 3で問題があります。私はPython 2.7のコードを入手し、現在それを更新しようとしています。私はエラーを取得します。

TypeError: 'map' 型のオブジェクトは len() を持ちません。

この部分で

str(len(seed_candidates))

以前はこのように初期化していました。

seed_candidates = map(modify_word, wordlist)

では、どなたか、私が何をしなければならないか、説明していただけませんか?

(編集: 以前、このコード例は set ではなく map . 現在は更新されています)。

解決方法は?

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