2019-01-20
阅读量:
1388
object of type'map'has no len
执行如下代码的时候报错
ls = [1,2,3,4,5]
a = map(lambda x: x**2,ls)
len(a)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-4-1a2e6ec5f1e3> in <module>()
----> 1 len(a)
TypeError: object of type 'map' has no len()
但是网上这么写的为啥可以成功执行?
答:这是python版本的差异,在python2中map函数返回的是list对象,而在python3中map返回的是一个map对象。map对象属于一种生成器是懒惰的,只存储计算方法并不会存储实际的计算结果。map对象也没有len()的方法,如果想获取长度需要使用list()函数调用并计算返回列表。
0.0000
0
3
关注作者
收藏
评论(0)
发表评论
暂无数据
推荐帖子
0条评论
0条评论
1条评论