2016-05-02 47 views
9

我有一個python 3的問題。我得到python 2.7代碼,此刻我嘗試更新它。我得到的錯誤「類型‘地圖’對象沒有LEN()」在這一部分:'map'類型的對象有沒有len() - Python 3

str(len(seed_candidates)) 

之前,我初始化這樣的:

seed_candidates = set() 
for word in wordlist: 
    seed_candidates.add(word) 

因此,有人可以解釋我是什麼要做

+2

它適用於我。發佈一個完整的例子來說明問題。你甚至沒有在上面的代碼中的任何地方調用'map'。 – interjay

回答

23

在Python 3,map返回一個迭代器不是一個列表:

>>> 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() 

可以CONVER t將其放入一個列表,然後從那裏得到的長度:

>>> print(len(list(L))) 
10 
+1

我認爲這是一個規範的問題/答案。上述問題是重複的。 –

相關問題