1.lambda表达式
作用:在用python写一些执行脚本时,使用lambda就可以省下定义函数过程,比如我们只是需要写一个简单的脚本来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用lambda就可以使的代码更加简洁
对于一些比较抽象并且整个程序使用下来只需要调用一两次的函数,有时候给函数起个名字也是比较头疼的问题,使用lambda就不需要考虑命名的问题了
简化代码可读性,由于普通的函数阅读经常要跳到开头def定义部分,使用lambda函数可以省去这样的步骤。
例如
用函数来写: >>> def ds(x):
return 2*x+1
>>> ds(5)
11
用lambda表达式来写: >>> g = lambda x:2*x+1
>>> g(5)
11
2.filter()的使用
可以称为过滤器,用法:
filter(function or None,iterable)如果第一个参数是函数的话,则将第二个可迭代数据里的每个元素作为函数的参数进行计算,把返回true的值给筛选出来,并为一个列表,如果第一个参数是None,则将第二个参数里面的true的值筛选出来
例:>>> filter(None,[1,0,False,True])
<filter object at 0x0000020C12F43AC8>
>>> list(filter(None,[1,0,False,True]))
[1, True]
>>> def odd(x):
return x%2
>>> temp=range(10)
>>> show=filter(odd,temp)
>>> list(show)
[1, 3, 5, 7, 9]
>>> list(filter(lambda x:x%2,range(10)))
[1, 3, 5, 7, 9]
3.map()的使用
意思为映射,有两个参数,一个是函数,一个可迭代的序列,该BIF的功能是将序列的每一个元素作为函数的参数进行运算加工,直到可迭代序列的每个元素都加工完毕,返回所有加工后的元素构成新序列
>>> list(map(lambda x:x*2,range(10)))
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]