一般对map方法的讲解都是类似这样的例子:
# 使用 for 循环
squares = []
for i in range(5):
squares.append(i ** 2)
# 使用 map
squares = list(map(lambda i: i** 2), range(5))
那没有return值的函数,比如list.append,该怎么样通过map表达呢?比如下面这个例子:
# 使用 for 循环
a = []
for i in range(5):
a.append(i)
print(a)
# 使用 map
a = []
print(list(map(lambda i: a.append(i),range(5))))
这 为啥非得用map ?? 列表推导式不好吗?
a=[]
print( a + [i for i in range(5)] )
lambda只是简化代码而产生的,本身并没有提升代码的运行效率,可以利用lambda和map采用列表推导式进行代码的极致简化,至于提高运行效率,要看具体情况,一般类型的选择对于代码效率的提升很关键