python中的lambda表达式使用-一种无名的牛逼函数
python中lambda表达式使用
一、lambda表达式
1、python中的lambda表达式是一种匿名函数,lambda的表达式的函数体只有一条语句。语法如下:
返回函数名 = lambda 参数列表 : 函数返回值表达式语句
2、小栗子
sum = lambda x,y : x+y
二、lambda表达式实现跳转表功能
1、把lambda表达式作为列表、元组或者字典元素,可以实现跳转表功能。
lambda表达式列表的定义语法:
列表名 = [(lambda表达式1),(lambda表达式2), …]
调用列表中的lambda表达式的语法:
列表名[索引](lambda表达式的参数列表)
2、小栗子
array = [(lambda x: x**2),(lambda x:x**3 ),(lambda x: x**4)]
print(array[0](2),array[1](2),array[2](2)) #注意后面传参数的方法是:[索引号](参数)
该示例的结果是:(4,8,16)
3、元组和字典的语法类似,小栗子如下:
1》元组:
list1 = ((lambda x: x**2),(lambda x: x**3),(lambda x: x**4))
print(list1[0](3),list1[1](3),list1[2](3))
2》字典:
dict1 = {'index1':(lambda x:x**2),'index2': (lambda x: x**3),'index3':(lambda x: x**4)}
print(dict1['index1'](4),dict1['index2'](4),dict1['index3'](4))
三、lambda表达式作为普通函数返回值
def calculator(type):
if (type == 1):
return lambda x, y: x + y
if (type == 2):
return lambda x, y: x - y
if (type == 3):
return lambda x, y: x * y
if (type == 4):
return lambda x, y: x / y
cal = calculator(1)
print("9+3=%d"% cal(9, 3))
cal = calculator(2)
print("9-3=%d"% cal(9, 3))
cal = calculator(3)
print("9*3=%d"% cal(9, 3))
cal = calculator(4)
print("9/3=%d"% cal(9, 3))
运行结果:
四、lambda表达式的优缺点
1、语法简单,仅仅是一个表达式,省去了定义和命名的烦恼
2、只适合封装逻辑简单的实现,太复杂操作不合适
说明:如有错误,欢迎指正。。。
本文为博主原创文章,未经博主允许请勿转载!作者:ISmileLi