成长7 - 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代表任意字符串,结果啥也没过滤出去

>>> list(filter(str,['michelle',666]))
['michelle', 666]

再来一个吧,过滤出小于5的数字

>>> list(filter(lambda q:q<5,range(10)))
[0, 1, 2, 3, 4]

再来~过滤出小于10的基数,!=就是不等于的意思,以下的逻辑就是不能被2整除的意思~

>>> 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]

今天就到这里吧,哈哈,给自己鼓劲儿!坚持就是胜利!很喜欢一句话‘要一直努力,才能看起来毫不费力!’

 

posted @ 2018-10-11 17:26  michellema  阅读(213)  评论(0编辑  收藏  举报