pythonlambda的详细介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
pythonlambda的详细介绍
lambda 函数,⼜叫匿名函数。
不需要给这个函数命名。
先看⼀个简单的栗⼦:
(普通的函数)
1 >>> def f(x):
2return x * 2
3
4 >>> print f(3)
5 6
⽤lambda表达式可以表⽰为
1 >>> g = lambda x : x* 2
2 >>> print g(3)
3 6
lambda 中,冒号前⾯是参数,可以多个,⽤逗号隔开,冒号后⾯是返回值。
多个参数的栗⼦:
1 >>> g = lambda x ,y : x * y
2 >>> g(2, 3)
3 6
>>> g = lambda x ,y = 3 : x * y
>>> g(4)
12
map() 函数
map()函数接受两个参数,⼀个是函数,⼀个是序列,map将传⼊的函数依次作⽤在序列的每⼀个元素上⾯,并返回⼀个新的list。
1 >>> print map(lambda x : x*
2 , range(6))
2 [0, 2, 4, 6, 8, 10]
filter() 函数过滤
filter()函数,接受两个参数,⼀个是函数,⼀个是序列,返回True和False,根据判断结果,过滤掉不符合条件的元素,返回⼀个新的list 1#删除列表中的偶数
2
3 >>> list =[1, 4, 6, 7, 9, 12, 17]
4 >>> def odd(x):
5return x% 2 == 1
6
7 >>> filter(odd,list)
8 [1, 7, 9, 17]
练习题:
1. ⽤lambda表达式将下⾯的函数转换成匿名函数
1 >>> def fun(x,y= 3):
2return x * y
1 # lambda x,y = 3: x*y
2.⽤ filter()和lambda() 快速求出 100 以内的 3的倍数
1 >>> filter(lambda x :x % 3 == 0 ,range(1,100))
2 [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99] 。