2018博客之星评选,如果喜欢我的文章,请投我一票,编号:No.009 [支持连接]() ,万分感谢!!!
1 如下python 3例子:
l = range(1,21)
def op(x):
r = 1
for i in range(1,x + 1):
r *= i
return r
list1 = (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)) )