浅析python函数式编程


Posted in Python onSeptember 26, 2020

目录

  • map
  • filter
  • reduce
  • zip
  • sortedmap

map

其中,function 参数表示要传入一个函数,其可以是内置函数、自定义函数或者 lambda 匿名函数;iterable 表示一个或多个可迭代对象,可以是列表、字符串等。
map() 函数的功能是对可迭代对象中的每个元素,都调用指定的函数,并返回一个 map 对象。

listDemo = [1, 2, 3, 4, 5]
new_list = map(lambda x: x * 2, listDemo)
print(list(new_list))

filter

filter() 函数的功能是对 iterable 中的每个元素,都使用 function 函数判断,并返回 True 或者 False,最后将返回 True 的元素组成一个新的可遍历的集合。

listDemo = [1, 2, 3, 4, 5]
new_list = filter(lambda x: x % 2 == 0, listDemo)
print(list(new_list))

reduce

reduce() 函数通常用来对一个集合做一些累积操作,其基本语法格式为:
reduce(function, iterable)

import functools
listDemo = [1, 2, 3, 4, 5]
product = functools.reduce(lambda x, y: x * y, listDemo)
print(product)

zip

>>>a = [1,2,3]
>>>b = [4,5,6]
>>>c = [4,5,6,7,8]
>>>zipped = zip(a,b) # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>>zip(a,c)     # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>>zip(*zipped)   # 与 zip 相反,可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]

sorted

>>> L=[('b',2),('a',1),('c',3),('d',4)]
>>> sorted(L, key=lambda x:x[1])        # 利用key
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>> sorted(students, key=lambda s: s[2])      # 按年龄排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

以上就是浅析python函数式编程的详细内容,更多关于python函数式编程的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 Python
Python 内置函数complex详解
Oct 23 Python
python虚拟环境virtualenv的使用教程
Oct 20 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
用Python下载一个网页保存为本地的HTML文件实例
May 21 Python
python将print输出的信息保留到日志文件中
Sep 27 Python
Pytorch训练过程出现nan的解决方式
Jan 02 Python
python实现PCA降维的示例详解
Feb 24 Python
关于Python3爬虫利器Appium的安装步骤
Jul 29 Python
python学习笔记之多进程
Aug 06 Python
python UIAutomator2使用超详细教程
Feb 19 Python
python实现Thrift服务端的方法
Apr 20 Python
python用Configobj模块读取配置文件
Sep 26 #Python
Python内存泄漏和内存溢出的解决方案
Sep 26 #Python
python 两种方法修改文件的创建时间、修改时间、访问时间
Sep 26 #Python
如何使用Python调整图像大小
Sep 26 #Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 #Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
Nov 25 #Python
详解Python中第三方库Faker
Sep 25 #Python
You might like
一个好用的分页函数
2006/11/16 PHP
PHP 转义使用详解
2013/07/15 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
setTimeout 不断吐食CPU的问题分析
2009/04/01 Javascript
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
原生JS实现美图瀑布流布局赏析
2015/09/07 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
2016/11/02 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
详谈js模块化规范
2017/07/07 Javascript
vue.js异步上传文件前后端实现代码
2017/08/22 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
详解ES6中的代理模式——Proxy
2018/01/08 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
如何通过python画loss曲线的方法
2019/06/26 Python
Python3并发写文件与Python对比
2019/11/20 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
美国精品地毯网站:Boutique Rugs
2020/03/04 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
办理护照介绍信
2014/01/16 职场文书
《秋姑娘的信》教学反思
2014/02/28 职场文书
工商干部先进事迹
2014/05/14 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python