Python教程:lambda,filter,map的运用
1、在学完定义函数def后,又接触了个新的知识,lambda,这个简直可以替代定义函数def啊。用它时,不需要一堆命名,单独定义某个字符,上来直接就是你想的结果,简直是发现新大陆了!不说了,上例子!看吧,简直了!我想以后,我会抓住这个家伙不放的,超级好理解,有不有!?(悄悄告诉你,这个结果也是试了3遍才搞定的,不过总归是成功了哈!)
>>> q=lambda x: 'hello, '+ x
>>> q('Michelle')
'hello, Michelle'
再来一个,算个数吧~
>>> lambda a,b: a*b
<function <lambda> at 0x0000000002092E18>
>>> q=lambda a,b: a*b
>>> q(11,12)
132
2、过滤fliter,哈哈,这个例子有点失败,本来想过滤出文字,结果忘记str代表任意字符串,结果啥也没过滤出去
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> list(filter(str,['michelle',666]))
['michelle', 666]
再来一个吧,过滤出小于5的数字
>>> list(filter(lambda q:q<5,range(10)))
[0, 1, 2, 3, 4]
再来过滤出小于10的基数,!=就是不等于的意思,以下的逻辑就是不能被2整除的意思
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> list(filter(lambda p:p%2!=0,range(10)))
[1, 3, 5, 7, 9]
3、map是映射的意思,说白了就是你定义个函数,再把这个命令作用在一个列表中,上例子!逻辑就是把10以内的数都乘5
>>> list(map(lambda w:w*5, range(10)))
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45]
再来个两个列表运算的,走你!
>>> list(map(lambda w,z:w+z,[1,2,3,4],[5,6,7,8]))
[6, 8, 10, 12]