首页 > 编程语言 > 详细

python_匿名函数_lambda的使用

时间:2020-11-05 22:30:52      阅读:36      评论:0      收藏:0      [点我收藏+]
匿名函数
1、用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。
2、lambda可以获取到字典中的key 用于列表(中的元素为字典类型)的排序
3、lambda作为参数传给函数
4、lambda作为输入,传给函数,根据输入自定义 计算方法                  #input默认类型是string 需要用eval将strings转为Python expression
 
示例代码如下:

In [45]: mi = lambda a,b : a**b

In [46]: type(mi)
Out[46]: function

In [47]: mi(2,3)
Out[47]: 8
In [26]: list_tuple
Out[26]: [{name: maojie, age: 18}, {name: piero, age: 10}]

In [27]: list_tuple.sort(key = lambda x:x[age])

In [28]: list_tuple
Out[28]: [{name: piero, age: 10}, {name: maojie, age: 18}]

In [29]: list_tuple.sort(key = lambda x:x[name])

In [30]: list_tuple
Out[30]: [{name: maojie, age: 18}, {name: piero, age: 10}]
#!/bin/python

#根据传参输出结果
def _result(a,b,fun):
        _sum = fun(a,b)
        print(_sum)

#使用匿名函数 定义输入和计算规则
def _calc():
        a1=int(input("请输入第一个数:"))
        b1=int(input("请输入第二个数:"))
        _result(a1,b1,lambda x,y:x+y)


_calc()

[root@piero py]# python lambda.py 
请输入第一个数:3
请输入第二个数:2
5
[root@piero py]# python lambda_input.py 
请输入第一个数:3
请输入第二个数:2
请输入lambda公式:lambda x,y:x+y+100
105

[root@piero py]# cat lambda_input.py 
#!/bin/python
def _result(a,b,fun):
    _sum = fun(a,b)
    print(_sum)

def _calc():
    a1 = int(input("请输入第一个数:"))
    b1 = int(input("请输入第二个数:"))
    fun = (input("请输入lambda公式:"))
    fun = eval(fun)
    _result(a1,b1,fun)

_calc()

 

python_匿名函数_lambda的使用

原文:https://www.cnblogs.com/piero-mao/p/13933982.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!