Python中匿名函数及结合内置函数的应用

1、匿名函数

作用:简化函数定义。
格式:lambda 参数1,参数2:运算
实例:

# 1.简单例子
s = lambda a,b: a+b
print(s(1,2))
#输出结果为:3

# 2.匿名函数作为参数
def fun1(x,y,func):
    print(x,y)
    print(func)
    s = func(x,y)
    print(s)
#调用fun1
fun1(1,2,lambda a,b:a+b)
#输出结果为:
1 2
<function <lambda> at 0x0000020CD0D52378>
3

2、内置函数+匿名函数应用

  1. 匿名函数 + max()函数 (可以参考下max函数)

    list2 = [{'a':10,'b':20},{'a':8,'b':40},{'a':17,'b':5},{'a':5,'b':28}]
    m  = max(list2,key=lambda x:x['a'])
    print('列表最大值:',m)
    #输出结果为:
    列表最大值: {'a': 17, 'b': 5}
    
  2. 匿名函数 + map()函数 (可以参考下min函数)

    list1 = [3,4,6,8,9]
    result = map(lambda x:x+2,list1)
    print(list(result))
    #输出结果为:
    [5, 6, 8, 10, 11]
    
  3. 匿名函数 + reduce()函数 (可以参考下reduce函数)
    reduce()函数:对可迭代中的元素进行加减乘除运算。但需要导入from functools import reduce.(在python2中就不需要)

    from functools import reduce
    tuple1 = (3,5,7,8)
    result = reduce(lambda x,y:x+y,tuple1)
    print(result)
    #输出结果为:23
    
  4. 匿名函数 + filter()函数 (可以参考下filter函数)

    list1 = [12,6,8,28,0]
    result = filter(lambda x:x>10,list1)
    print(list(result))
    #输出结果为:[12, 28]
    
  5. 匿名函数 + sorted()函数 (可以参考下sorted函数)

    info = [
    {'name':'Mark','age':21},
    {'name':'Jason','age':20},
    {'name':'Jon','age':28}
    ]
    studens = sorted(info,key=lambda x : x['age'])
    print(studens)
    #输出结果为:
    [{'name': 'Jason', 'age': 20}, {'name': 'Mark', 'age': 21}, {'name': 'Jon', 'age': 28}]
    
发布了84 篇原创文章 · 获赞 36 · 访问量 4556

猜你喜欢

转载自blog.csdn.net/qq_41475583/article/details/104889844