Python数据挖掘编程基础6

举报
冰峰 发表于 2025/03/31 10:39:34 2025/03/31
【摘要】 函数式编程(Functional Programming)是一种编程范型,它将计算机运算视为数学函数计算,避免程序状态及易变对象的影响。在Python中,函数式编程主要通过`lambda`、`map`、`reduce`、`filter`等函数实现。

2.1函数式编程
1、函数式编程(Functional Programming)或函数程序设计,又称泛函编程,是一种编程范型。函数式编程可以将计算机运算视为数学上的函数计算,并且可以避免程序状态以及易变对象对函数的影响。
2、在Python中,函数式编程主要由lambda、map、reduce、filter函数构成,其中lambda在代码清单2-14中已经介绍,这里不再赘述。
3、假设有一个列表a=[5,6,7],需要将列表a中的每个元素都加3,并生成一个新列表,可以通过列表解析操作实现该要求,如代码清单2-15所示。
代码清单2-15 使用列表解析操作列表元素
a=[5,6,7]
b=[i+3 for i in a]
print(b) //输出结果为[8,9,10]
4、使用map函数实现代码清单2-15中的示例,如代码清单2-16所示。
代码清单2-16 使用map函数操作列表元素
a[5,6,7]
b=map(lambda x:x+3,a)
b=list(b)
print(b) //输出结果也为[8,9,10]
在代码清单2-16中,首先定义一个列表,然后用map函数将命令逐一应用到列表a中的每个元素,最后返回一个数组。map函数也支持多参数的位置,例如,map(lambdaa x,y:x*y,a,b)表示将a、b两个列表的元素对应相乘,并将结果返回新列表。
通过代码清单2-15和代码清单2-16可以看出,列表解析虽然代码简短,但是本质上还是for循环。在Python中,for循环效率并不高,而map函数实现了相同的功能,并且效率更高

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。