執行map()後,報:

lanyu發表於2021-09-09

1 如下python 3例子:

l = range(1,21)def op(x):r = 1for i in range(1,x + 1):r *= ireturn rlist1 = (map(op,l))print (list1)
  • 1

執行後發現報瞭如下錯:
map object at 0x026427B0

2 出錯原因分析:

這種情況是因為在python3裡面,map()的返回值已經不再是list,而是iterators, 所以想要使用,只用將iterator 轉換成list 即可, 比如 list(map()) 。

3 修改方法如下:

將該行 list1 = (map(op,l)) 修改為  list1 = list((map(op,l)) )


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2035/viewspace-2804215/,如需轉載,請註明出處,否則將追究法律責任。

相關文章