高阶函数-语法糖-lambda(三分钟读懂)
发布日期:2021-05-07 09:22:46 浏览次数:16 分类:技术文章

本文共 1343 字,大约阅读时间需要 4 分钟。

匿名函数 lambda 函数表达式

1.lambda函数表达式专门用来创建一些简单的函数,他是函数创建的又一种方式

2.语法:lambda 参数列表 : 返回值
3.匿名函数一般都是作为参数使用,其他地方一般不会使用

高阶函数

(符合一个即可)
① 接收一个或多个函数作为参数
② 将函数作为返回值返回

例一

语法:(lambda a,b : a + b)(参数)

def fn1(a,b):    return a + b    fn2 = lambda a,b : a + b # 语法:lambda 参数列表 : 返回值                # fn1 和fn2 的功能是一样的print(fn1)      # 执行返回为 
说明这是一个函数print(fn2) # 执行返回为
at 0x02CCF460> 说明这是一个函数 只是赋值给了fn2 显示的内存地址为fn2罢了print(lambda a,b : a + b) # 执行返回为
at 0x0160F418> 说明这是一个函数print(fn1(2,3)) # 执行返回为 5 print(fn2(2,3)) # 执行返回为 5 print((lambda a,b : a + b)(2,3)) # 执行返回为 5

例二:

在列表中筛选 filter(lambda x : x % 2 == 0,i)

在列表中做指定的操作 map(lambda i : i + 1 , x)

# 在列表中筛选i = [1,2,3,4,5,6,7,8,9,10]a = filter(lambda x : x % 2 == 0,i)#  一般不这么用  尽量少写代码 print(list(a))                  # 执行返回为 [2, 4, 6, 8, 10]# 在列表中做指定的操作x = [1,2,3,4,5,6,7,8,9,10]a = map(lambda i : i ** 3 , x)b = map(lambda i : i + 1 , x)print(list(a))# 执行返回为 [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]print(list(b))# 执行返回为 [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]print(a) # 执行返回为  #需要使用print() 才能查看print(b) # 执行返回为  #需要使用print() 才能查看# map()# map()函数可以对可跌倒对象中的所有元素做指定的操作,然后将其添加到一个新的对象中返回# filter()# filter()可以从序列中过滤出符合条件的元素,保存到一个新的序列中# 参数:(1.函数,根据该函数来过滤序列(可迭代的结构),2.需要过滤的序列(可迭代的结构))# 返回值:过滤后的新序列(可迭代的结构)
上一篇:高阶函数-sort()与sorted() (三分钟读懂)
下一篇:python高阶函数(三分钟读懂)

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月14日 13时05分13秒