python开发函数进阶:匿名函数

本文深入探讨了Python中匿名函数的应用,包括基本语法、如何利用匿名函数进行数据处理及与其它函数配合使用的方法。通过实例展示了匿名函数在过滤、映射等操作中的便捷性和灵活性。

一,匿名函数

#简单的需要用函数去解决的问题 匿名函数的函数体 只有一行
#也叫lambda表达式
# cal2(函数名) = lambda n(参数) : n*n(参数怎么处理,并且返回值)
#参数可以有多个,用逗号隔开
#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
#返回值和正常的函数一样可以是任意数据类型
1.函数和匿名函数

 1 #!/usr/bin/env python
 2 #_*_coding:utf-8_*_
 3 
 4 def cal(n):
 5     return n*n
 6 print(cal(10))
 7 cal2 = lambda n:n*n
 8 print(cal2(10))
 9 
10 def add(x,y):
11     return x+y
12 print(add(1,2))
13 add2 = lambda x,y : x+y
14 print(add2(1,2))
15 
16 #查找大于10的数字
17 l = [10,11,8,12]
18 def func(x):
19     return x>10
20 print(list(filter(func,l)))
21 print(list(filter(lambda x:x>10,l)))
22 
23 #数字幂次方运算
24 def pow2(x):
25     return x*x
26 map(pow2,l)
27 print(list(map(lambda x:x*x , l)))

 

2.匿名函数真的可以匿名,在和其他函数合作的时候

 1 #!/usr/bin/env python
 2 #_*_coding:utf-8_*_
 3 
 4 #查询字典Value值最大的
 5 dic={'k1':10,'k2':100,'k3':30}
 6 print(max(dic))    #K3
 7 func = lambda k:dic[k]  #values
 8 print(max(dic,key = func))
 9 print(max(dic,key = lambda k:dic[k]))
10 #运行逻辑   dic >> lambda >> max >> key      #模糊
11 
12 
13 #现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]
14 #第一种
15 t1 = (('a'),('b'))
16 t2 = (('c'),('d'))
17 print(list(zip(t1,t2)))   #[('a', 'c'), ('b', 'd')]
18 print(list(map(lambda t:{t[0]:t[1]} ,zip(t1,t2))))  #zip拉链成列表 map有解压法
19 
20 #第二种
21 print([{i:j} for i,j in zip(t1,t2)])  #item = ('a', 'c')  i,j = 'a', 'c'  元祖的解包
22 func = lambda t1,t2 : [{i:j} for i,j in zip(t1,t2)]  #右边是返回值
23 ret = func(t1,t2)
24 print(ret)

 

转载于:https://www.cnblogs.com/jokerbj/p/7291646.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值