我有一個程序可以與Python 2.7但不是Python 3.3當然我知道我需要使用範圍而不是xrange,add()等等。但程序有很多'地圖'的方法,它似乎造成問題。當我得到這個錯誤:TypeError: object of type 'map' has no len()
我只是鑄造它作爲一個字符串,它的工作。將Python 2.7語法轉換爲3.3 - sum(map(len,P))
我想不出什麼了如何轉換是這樣的表達: sum(map(len,P))
我得到這個錯誤:TypeError: object of type 'map' has no len()
但這次我不知道該怎麼投,以及如何。 如果有幫助,我可以發佈整個代碼。
這是對P是如何被初始化:
P, Q = [line.strip().lstrip('(').rstrip(')').split(')(') for line in input_data.readlines()]
P = [map(int, perm_cycle.split()) for perm_cycle in P]
你嘗試:http://docs.python.org/2/library/2to3.html – Chandan
鬼。在Python 3.2.3中'sum(map(len,[range(3),range(4)]))'returns'7',所以你的問題並沒有提供我們需要的信息來重現問題。 – Alfe
'P'等於什麼? –