PGC123

2019-01-20   阅读量: 1154

Python编程 数据分析师 大数据

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()函数调用并计算返回列表。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 3 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子