python中abs&map&reduce简介


Posted in Python onFebruary 20, 2018

abs函数

可以把函数本身赋值给变量
>>> f = abs
变量可以指向函数
>>> f = abs
>>> f(-10)
10
abs函数实际上是定义在import builtins模块中的,所以要让修改abs变量的指向在其它模块也生效,要用import builtins; builtins.abs = 10

传入函数
一个函数接收另一个函数作为参数,这种函数就称之为高阶函数。

def add(x, y, f):
return f(x) + f(y)

当我们调用add(-5, 6, abs)时,参数x,y和f分别接收-5,6和abs,根据函数定义,我们可以推导计算过程为:

x = -5
y = 6
f = abs
f(x) + f(y) ==> abs(-5) + abs(6) ==> 11

map

map()函数接收两个参数,一个是函数,一个是Iterable,
map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回

>>> def f(x):
... return x * x
...
>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> list(r)
[1, 4, 9, 16, 25, 36, 49, 64, 81]

map()传入的第一个参数是f,即函数对象本身
通过list()函数让它把整个序列都计算出来并返回一个list
把这个list所有数字转为字符串:

>>> list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
['1', '2', '3', '4', '5', '6', '7', '8', '9']

reduce

reduce把一个函数作用在一个序列[x1, x2, x3, ...]上。
这个函数必须接收两个参数,
reduce把结果继续和序列的下一个元素做累积计算,其效果就是:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

把序列[1, 3, 5, 7, 9]变换成整数13579,reduce就可以派上用场:

>>> from functools import reduce
>>> def fn(x, y):
... return x * 10 + y
...
>>> reduce(fn, [1, 3, 5, 7, 9])
13579
Python 相关文章推荐
跟老齐学Python之使用Python操作数据库(1)
Nov 25 Python
Python 专题二 条件语句和循环语句的基础知识
Mar 19 Python
django使用图片延时加载引起后台404错误
Apr 18 Python
Django在win10下的安装并创建工程
Nov 20 Python
详解Python核心对象类型字符串
Feb 11 Python
用python处理MS Word的实例讲解
May 08 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
May 29 Python
在numpy矩阵中令小于0的元素改为0的实例
Jan 26 Python
python中 * 的用法详解
Jul 10 Python
Python数据持久化存储实现方法分析
Dec 21 Python
Pytorch基本变量类型FloatTensor与Variable用法
Jan 08 Python
Python selenium爬取微博数据代码实例
May 22 Python
Python中常见的异常总结
Feb 20 #Python
Python中单例模式总结
Feb 20 #Python
ubuntu安装mysql pycharm sublime
Feb 20 #Python
python中(str,list,tuple)基础知识汇总
Feb 20 #Python
Python 反转字符串(reverse)的方法小结
Feb 20 #Python
python如何实现int函数的方法示例
Feb 19 #Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 #Python
You might like
无数据库的详细域名查询程序PHP版(4)
2006/10/09 PHP
php5 and xml示例
2006/11/22 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
用JS实现的一个include函数
2007/07/21 Javascript
jQuery timers计时器简单应用说明
2010/10/28 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
js键盘事件实现人物的行走
2020/01/17 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
[44:41]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
Python学习教程之常用的内置函数大全
2017/07/14 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
pip install python 快速安装模块的教程图解
2019/10/08 Python
python3读取csv文件任意行列代码实例
2020/01/13 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
2020/04/24 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
python解释器安装教程的方法步骤
2020/07/02 Python
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
办公室驾驶员岗位职责
2013/11/15 职场文书
查环查孕证明
2014/01/10 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
写给父母的感谢信
2015/01/22 职场文书
繁星春水读书笔记
2015/06/30 职场文书
公司规章制度范本
2015/08/03 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang