Python教程:lambda,filter,map的运用

枫铃3年前 (2021-07-23)Python259

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]

相关文章

Python教程:collections的deque()方法

创建双向队列 impo...

python的22个基本语法

“人生苦短,我用Python”。Python编程语言是最容易学习、并且功能强大的语言。只需会微信聊天、懂一点英文单词即可学会Python编程语言...

python 归并排序,合并有序数组,逆序对个数

归并排序,合并有序列表,求逆序对个数 之所以将标题中三者放一起是因为它们有密不可分的关系. 合并有序列表 定义一个空列表 li 用来存放排序后的值;定义两...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。