浅析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 基础学习教程
Feb 08 Python
python 域名分析工具实现代码
Jul 15 Python
Python中使用PyHook监听鼠标和键盘事件实例
Jul 18 Python
Python实现的一个找零钱的小程序代码分享
Aug 25 Python
python简单实现基于SSL的IRC bot实例
Jun 15 Python
Python卸载模块的方法汇总
Jun 07 Python
python中MethodType方法介绍与使用示例
Aug 03 Python
Python爬虫包BeautifulSoup实例(三)
Jun 17 Python
详解python中index()、find()方法
Aug 29 Python
python通过移动端访问查看电脑界面
Jan 06 Python
浅谈Django前端后端值传递问题
Jul 15 Python
pytorch 一行代码查看网络参数总量的实现
May 12 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
第二节 对象模型 [2]
2006/10/09 PHP
我的论坛源代码(六)
2006/10/09 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
使用PHP如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
一个js实现的所谓的滑动门
2007/05/23 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
2020/12/13 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
Python实现的数据结构与算法之队列详解
2015/04/22 Python
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
Python列表的切片实例讲解
2019/08/20 Python
关于Python形参打包与解包小技巧分享
2019/08/24 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
2020/08/17 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
html5图片上传预览示例分享
2014/04/14 HTML / CSS
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
高考励志标语
2014/06/05 职场文书
销售团队获奖感言
2014/08/14 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
项目转让协议书
2014/10/27 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
技能培训通讯稿
2015/07/18 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python