有时候我们想临时实现一个操作,并且以后也不想在程序的其他地方中调用这个函数,那么就可以使用匿名函数,不指定函数名,只需要对应的函数映射关系
[(lambda x: 2*x) (i) for i in range(5)]
#输出:[0, 2, 4, 6, 8]
对于上述的这种列表推导式的匿名函数映射,还可以map函数来完成,map(function,iterator)
list(map(lambda x, y: str(x)+'_'+y, range(5), 'abcde'))
#输出:['0_a', '1_b', '2_c', '3_d', '4_e']
对于多个输入值的函数映射,可以通过追加迭代对象实现
list(map(lambda x, y: str(x)+'_'+y, range(5), 'abcde'))
# 输出['0_a', '1_b', '2_c', '3_d', '4_e']