浅析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 相关文章推荐
python 布尔操作实现代码
Mar 23 Python
python判断、获取一张图片主色调的2个实例
Apr 10 Python
详解MySQL数据类型int(M)中M的含义
Nov 20 Python
如何高效使用Python字典的方法详解
Aug 31 Python
pip matplotlib报错equired packages can not be built解决
Jan 06 Python
Python格式化输出%s和%d
May 07 Python
python 匹配url中是否存在IP地址的方法
Jun 04 Python
原生python实现knn分类算法
Oct 24 Python
详解python内置常用高阶函数(列出了5个常用的)
Feb 21 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
python 6行代码制作月历生成器
Sep 18 Python
详解Python魔法方法之描述符类
May 26 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
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
2016/07/09 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
php 读取文件夹下所有图片、文件的实例
2018/10/17 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
angularjs客户端实现压缩图片文件并上传实例
2015/07/06 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
Vue组件间通信 Vuex的用法解析
2019/08/05 Javascript
js实现淘宝首页的banner栏效果
2019/11/26 Javascript
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
Python 调用 Outlook 发送邮件过程解析
2019/08/08 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
线程同步的方法
2016/11/23 面试题
《雨点》教学反思
2014/02/12 职场文书
中学生操行评语大全
2014/04/24 职场文书
医院领导班子整改方案
2014/10/01 职场文书
门市房租房协议书
2014/12/04 职场文书
迎新生欢迎词
2015/01/23 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
小学班主任自我评价
2015/03/11 职场文书
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS