def ds(x):
return 2 * x + 1
print(ds(5))#调用函数,返回11
对于一个参数
lambda x : 2 * x + 1 #lambda构建函数对象,返回一个函数型
print(lambda x : 2 * x + 1) #会打印内存中的地址
g = lambda x : 2 * x + 1
print(g(5))
#对于多个参数
def add(x,y):
return x + y
add(3,4) #调用函数
#改为lambda函数
f = lambda x,y : x + y
print(f(1,6))
1)python写一些执行脚本时,使用lambda就可以省下顶峰一函数的过程,比如说我们知识需要写个简单的脚本来管理服务器的时间,
我们就不需要专门定义一个函数,然后再写调用,使用lambda就可以使得代码更加精简
2)对于一些比较抽象并且整个程序执行下来只需要调用一两次函数,有时候给函数起个名字也是比较头疼的问题,使用lambda就
不需要考虑命名的问题了
3)简化代码的可读性,由于普通的函数阅读经常需要跳到开头def定义部分,使用lambda函数就可以省区这样的步骤
过滤器函数,可以保留关注的信息,不关注的可删除
查看help文档
print(help(filter))
filter(None,[1,0,False,True]) #把任何非True的内容给过滤掉,
list1 = list(filter(None,[1,0,False,True]))
print(list1) #打印[1,True]
1.普通方法
def odd(x):
return x%2
temp = range(10)
show = filter(odd,temp) #得到一个迭代器,结果为1-10过滤掉偶数,只有奇数的列表
print(list(show))
2.利用lambda函数来过滤
filter(lambda x: x%2,range(10))
list2 = list(filter(lambda x: x%2,range(10)))
print(list2)
返回所有加工完后的元素构成新序列
两个内置函数,一个函数和一个可迭代的序列
list3 = list(map(lambda x: x*2,range(10))) #把一个序列的值,带入到lambda函数中
print(list3)