2019-03-05
阅读量:
610
map函数执行后列表没更新,传入的函数有问题?
map函数执行后列表没更新,传入的函数有问题?
代码如下:
a =[]
def a_appd(ls):
def inner_appd(x):
ls.append(x**2)
return inner_appd
f = a_appd(a)
%timeit map(f,range(100000))
执行完成之后列表a的值是 [] ,这是什么原因?map函数的作用域与正常调用函数有区别吗?
答:map函数调用函数的时候与正常直接调用区别不大,主要区别是:map函数是lazy的,因此需要list()或者其他方式将其激活才能真正调用,其他方面是没有差别的。
这里需要改正的是
%timeit [*map(f,range(100000))]






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论