python3 之 匿名函数
一、语法:
lambda 参数:方法(或三元运算) #最多支持3元运算
二、实例1:基础
1 #函数1: 2 a = lambda x:x*x 3 print(a(2)) 4 5 #函数2: 6 def myfun(x): 7 return x*x 8 print(myfun(2)) 9 #上面2个函数等价,结果也相同
三、实例2:三元运算
#函数1: func = lambda x,y:x+y if x>y else x-y #lamdba最多支持3元运算,再复杂的判断不支持 print(func(3,2)) #函数2: def myfun_1(x,y): if x>y: return x+y else: return x-y print(myfun_1(3,2))
四、实例3:map函数结合使用,
功能:列表里的元素实现自乘
#普通方法 a = [0,1,2,3,4,5,6,7,8,9] print(a) for index,i in enumerate(a): a[index] = i*i print(a)
>>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
#map方法 b = [0,1,2,3,4,5,6,7,8,9] print(b) print(list(map(lambda x:x*x,b)))
>>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
note:map() 语法简介:
#map()会根据提供的函数对指定序列做映射 '''语法: map(function,iterable,...) 参数:function——函数 iterable—— 一个或多个序列 返回值:迭代器 作用:序列参数中的每一元素调用function函数,并将函数值返回给迭代器''' #实例1:列表中的元素实现自乘 a = [0,1,2,3,4,5,6,7,8,9] print(map(lambda x:x*x,a)) #<map object at 0x000002CC988D29E8> print(list(map(lambda x:x*x,a))) #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]