print(list(map(lambda x: x * x, [y for y in range(3)])))的输出结果?
print(list(map(lambda x: x * x, [y for y in range(3)])))
首先列表推导式生成[0,1,2]
[y for y in range(3)]
然后map函数接受两个参数,第一个是函数,第二个是可迭代的序列(这里是[0,1,2]),作用是返回生成器对象(python3中返回生成器,python2返回的是列表),里面的每个对象是可迭代序列中每个元素执行了函数功能的返回值,只不过这个函数是匿名函数lambda,功能是实现每个元素的平方。
b=map(lambda x: x * x, [y for y in range(3)])
print(b)
对map()函数返回值进行list()操作,即返回[0,1,4]
b=map(lambda x: x * x, [y for y in range(3)])
c=list(b)
print(c)