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)) )
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦