0
点赞
收藏
分享

微信扫一扫

lambda、map简单使用

杨小羊_ba17 2022-04-21 阅读 84
java后端

lambda是一个匿名函数,知道这个就行,没必要去看那么多,会用就行。

lambda(参数,函数返回);map(函数,列表)

一、lambda

如下,如果现在要定义一个函数,求三个参数的和,正常写法都是直接def定义开始,但是正常使用中,如果某个函数很简单并且只是使用一次,直接用lambda

def sum_elements(x,y,z):
    return x+y+z
print(sum_elements(1,2,3))

#上面的函数等价于下面的lambda
s = lambda x,y,z:x+y+z
print(s(1,2,3))

二、map

map根据提供的函数对指定序列做映射。如果要对列表中所有元素依次进行函数处理,都是靠for循环实现,map就是定义来实现循环的,但是map实现出来的是一个生成器,所以还要用list转出来。

data = [1,2,3,4,5,6]

def fun1(x):
    return x*2+4

for item in data:
    print(fun1(item))

#上面的函数等价于下面的lambda
fun2 = lambda x:x*2+4
for item in data:
    print(fun2(item))
    
#d等价于map和lambda
print(list(map(lambda x:x*2+4,data)))

三、lambda在filter中的应用

filter是筛选函数,filter(函数,列表)。

data = [1,2,3,4,5,6]

#取出data中的偶数
even = list(filter(lambda x:x%2==0,data))
print(even)

举报

相关推荐

0 条评论