Python常见内置高效率函数用法示例


Posted in Python onJuly 31, 2018

本文实例讲述了Python常见内置高效率函数用法。分享给大家供大家参考,具体如下:

1.  filter(function,sequence)

将sequence中的每个元素,依次传进function函数(可以自定义,返回的结果是True或者False)筛选,返回符合条件的元素,重组成一个String,List,Tuple等(跟sequence一样)

示例

def func(x):
  return x%2==0 and x%3==0
filter(func,(3,6,8,12,15,21))
#(6, 12)

2. map(functiom,sequence)

将sequence中的每个元素,依次传进function函数(可以自定义,返回的结果是数值)计算,无论sequence是什么类型,都返回List

示例

def func(x):
  return x*2
map(func,(3,6,8,12,15,21))
#[6, 12, 16, 24, 30, 42]

map支持多个sequence输入,但是function也要有相同数量的参数

def func(x,y):
  return x+y
seq1=[3,6,4,8]
seq2=[6,4,3,7]
map(func,seq1,seq2)
#[9, 10, 7, 15]

注意:以上示例是在python2.7中的,python3要用如下用法

>>> map_obj = map(lambda x:x+1,[1,2,3,4])
>>> map_obj
<map object at 0x0000014C511BD898>
>>> list(map_obj)
[2, 3, 4, 5]

3. reduce(function, sequence, starting_value)

将sequence中的item顺序迭代调用function,例如可以用来对List求和:

def add(x,y):
  return x+y
reduce(add,[3,6,4,8])
#21
#相当于运行‘3+6+4+8'=21

如果有starting_value,还可以作为初始值调用

def subtract(x,y):
  return x-y
reduce(subtract,[3,6,4],20)
#7
#相当于'20-3-6-4'=7

4. lambda匿名函数

语法:lambda 参数1,参数2(,参数n..):表达式     返回的是一个函数对象

示例

func=lambda x,y:x+y
func(3,5)
#8

将lambda和reduce结合

reduce(lambda x,y:x+y,[3,6,4,8])
#21

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python实现对字符串的加密解密方法示例
Apr 29 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
python 实现语音聊天机器人的示例代码
Dec 02 Python
python异常触发及自定义异常类解析
Aug 06 Python
Python Subprocess模块原理及实例
Aug 26 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
Sep 11 Python
python编写猜数字小游戏
Oct 06 Python
python pycharm最新版本激活码(永久有效)附python安装教程
Sep 18 Python
python和php哪个容易学
Jun 19 Python
Python建造者模式案例运行原理解析
Jun 29 Python
pytorch训练神经网络爆内存的解决方案
May 22 Python
Python使用jsonpath-rw模块处理Json对象操作示例
Jul 31 #Python
flask-socketio实现WebSocket的方法
Jul 31 #Python
深入flask之异步非堵塞实现代码示例
Jul 31 #Python
Django框架使用富文本编辑器Uedit的方法分析
Jul 31 #Python
Windows下python3.6.4安装教程
Jul 31 #Python
windows下pycharm安装、创建文件、配置默认模板
Jul 31 #Python
win8下python3.4安装和环境配置图文教程
Jul 31 #Python
You might like
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
PDO::query讲解
2019/01/29 PHP
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
JS实现图片产生波纹一样flash效果的方法
2015/02/27 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
微信小程序登录态和检验注册过没的app.js写法
2019/05/22 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python3.x和Python2.x的区别介绍
2013/02/12 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
解决Python pip 自动更新升级失败的问题
2020/02/21 Python
Python yield的用法实例分析
2020/03/06 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
python 密码学示例——理解哈希(Hash)算法
2020/09/21 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
如何写一封打动人心的求职信
2014/02/17 职场文书
预备党员的自我评价
2014/03/12 职场文书
电子商务专业自荐信
2014/06/02 职场文书
2014年医院工作总结
2014/11/20 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
工作时间调整通知
2015/04/24 职场文书
初中班主任培训心得体会
2016/01/07 职场文书