运行map()后,报:<map object at 0x02629E50>解决方法与原因分析

时间:2022-05-04
本文章向大家介绍运行map()后,报:<map object at 0x02629E50>解决方法与原因分析,主要内容包括1 如下python 3例子:、2 出错原因分析:、3 修改方法如下:、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

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)

执行后发现报了如下错: map object at 0x026427B0

2 出错原因分析:

这种情况是因为在python3里面,map()的返回值已经不再是list,而是iterators, 所以想要使用,只用将iterator 转换成list 即可, 比如 list(map()) 。

3 修改方法如下:

将该行 list1 = (map(op,l)) 修改为 list1 = list((map(op,l)) )