全部版块 我的主页
论坛 数据科学与人工智能 IT基础 JAVA语言开发
2048 0
2022-04-04
### 九章算法班 2021 版
Python进阶|谈谈几个常用的内置函数
匿名函数(lambda表达式)在Python中,函数能够算的上是“一等公民”了,我们先回忆下函数的优点:
  • 减少代码反复量
  • 模块化代码
但是我们有没有想过,假如我们需求一个函数,比拟简短,而且只需求运用一次(无需反复调用),那还需求定义一个有名字的函数么?
答案能否定的,这里我们就能够运用匿名函数来完成这样的功用。
我们先看看求一个数的平方,我们定义个函数怎样写:
def square(x):    return x**2square(3)复制代码复制代码而lambda表达式就能够这样写:
square = lambda x: x**2square(3)复制代码复制代码依据上面的例子,其实lambda表达式运用还是很简单的,如下:
lambda argument1, argument2,.....: expression复制代码复制代码接下来,引见的map、filter和reduce函数,与lambda表达式分离运用,才干发挥其强大的作用了。
map函数map函数的运用如下:
map(function, iterable)复制代码复制代码其作用是,对iterable的每个元素,都运用function这个函数,最后返回新的可遍历的汇合。
a = [1,2,3,4,5]b = map(lambda x: x*2,a)print(list(b))# [2, 4, 6, 8, 10]复制代码复制代码filter函数filter函数的运用如下:
filter(function, iterable)复制代码复制代码其作用是,对iterable的每个元素,都运用function这个函数停止判别,最后返回全部为True的新的可遍历的汇合。
a = [1,2,3,4,5,6]b = filter(lambda x :x%2 ==0, a)print(list(b))# [2, 4, 6]复制代码复制代码reduce函数reduce函数的运用如下:
reduce(function, iterable)复制代码复制代码function规则有两个参数,表示对iterable每个元素和上一次运算的结果,停止function运算,最后得到一个值,这里要留意,我们需求从functools中导入reduce。
from functools import reducea = [1,2,3,4]b = reduce(lambda x,y: x*y,a)print(b)# 24  1*2*3*4复制代码复制代码总结
  • lambda表达式
  • map、filter和reduce函数

九章算法班 2021 版
download链接:https://pan.baidu.com/s/1Xxw8FQJ3-Qtfz-KA5BVvMg?pwd=px6b

提取码:px6b
--来自百度网盘超级会员V4的分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群