python中Lambda表达式

#lambda表达式
'''
lambda 参数,参数,……:return 的表达式
'''
def ds(x):
    return 2*x+1
print(ds(3))#7
g=lambda x:2*x+1
print(g(3))#7
add=lambda x,y:x+y
print(add(1,5))#6
#两个bef
'''
过滤器:filter
映射:map
'''
'''
Python内建的filter()函数用于过滤序列。
和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,
然后根据返回值是True还是False决定保留还是丢弃该元素。
例如,在一个list中,删掉偶数,只保留奇数,可以这么写:
请尝试用filter()删除1~100的素数。
思路:1,一个函数判断n是否为素数
   2,列表生成式生成1~100的素数
'''
print(list(filter(None,[1,0,False,True])))#1,True
def odd(x):
    d=x%2
    print(d)
    return x%2
temp=range(10)
show=filter(odd,temp)
print(list(show))#[1, 3, 5, 7, 9]
print(list(filter(lambda x:x%2,range(10))))#[1, 3, 5, 7, 9]
def apd(x):
    b=x*2
    print(b)
    return x*2
map(apd,range(1,4))
print(list(map(apd,range(1,4))))#[2, 4, 6]
print(list(map(lambda x:x*2,range(10))))#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
原文地址:https://www.cnblogs.com/H-Yan/p/14173410.html