Python中针对函数处理的特殊方法


Posted in Python onMarch 06, 2014

很多语言都提供了对参数或变量进行处理的机制,作为灵活的Python,提供了一些针对函数处理的特殊方法
filter(function, sequence): 对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple
map(function, sequence) : 对sequence中的item依次执行function(item),见执行结果组成一个List
reduce(function, sequence, starting_value): 对sequence中的item顺序迭代调用function
sum(sequence): 对集合中的元素进行累加

下面针对上面的描述写一个简单的小例子:

__author__ = 'Administrator'
from functools import reduce
#主要用来掩饰map可以将某个序列中的元素传递给某个特殊的函数来处理
def map_demo():
    #定义一个将字母转换成大写的函数
    def to_upper(ch):
        return str(ch).upper()
    #对给定字符串中的每个字母应用to_upper函数
    print(list(map(to_upper, "asdfasdfuasdlaksdjf".split())))

#主要使用一个基于布尔值得函数对元素进行过滤
def filter_demo():
    def is_alnum(ch):
        return ch.isalnum()
    #!se会被过滤掉
    test_list = ['sdas', '123d', '!se', '孙阿斯蒂芬']
    #基于具体函数
    print(list(filter(is_alnum, test_list)))
    #基于列表推导
    print(list(x for x in test_list if x.isalnum()))
    #基于匿名函数
    print(list(filter(lambda x: x.isalnum(), test_list)))

#reduce的主要功能是利用列表中的两个元素迭代调用某个函数,最后得到一个结果
#在python3中要显示的添加 from functools import reduce
#本例中运行的过程大致是先是1+2=3,利用3+4=7,7+4.......
def reduce_demo():
    print(reduce(lambda x, y: x + y, range(1, 10)))

#利用sum函数累加列表中的值
def sum_demo():
    print(sum(range(10)))

if __name__ == "__main__":
    #map_demo()
    #filter_demo()
    #reduce_demo()
    sum_demo()
Python 相关文章推荐
Python迭代器和生成器介绍
Mar 06 Python
Python制作CSDN免积分下载器
Mar 10 Python
浅谈Python程序与C++程序的联合使用
Apr 07 Python
Python中利用sqrt()方法进行平方根计算的教程
May 15 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
python之pandas用法大全
Mar 13 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
NLTK 3.2.4 环境搭建教程
Sep 19 Python
Python基础教程之异常详解
Jan 10 Python
python爬虫刷访问量 2019 7月
Aug 01 Python
python2与python3爬虫中get与post对比解析
Sep 18 Python
python中pd.cut()与pd.qcut()的对比及示例
Jun 16 Python
python连接mysql调用存储过程示例
Mar 05 #Python
python益智游戏计算汉诺塔问题示例
Mar 05 #Python
python连接mysql并提交mysql事务示例
Mar 05 #Python
python遍历文件夹并删除特定格式文件的示例
Mar 05 #Python
python的三目运算符和not in运算符使用示例
Mar 03 #Python
python使用cookielib库示例分享
Mar 03 #Python
python使用cookie库操保存cookie详解
Mar 03 #Python
You might like
PHP的类 功能齐全的发送邮件类
2006/10/09 PHP
组合算法的PHP解答方法
2012/02/04 PHP
PHP文件缓存类示例分享
2015/01/30 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
跟着Jquery API学Jquery之一 选择器
2010/04/07 Javascript
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
jQuery.each使用详解
2015/07/07 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
2016/07/12 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
原生JavaScript实现滑动拖动验证的示例代码
2019/12/06 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
python异常处理、自定义异常、断言原理与用法分析
2020/03/23 Python
Python如何实现FTP功能
2020/05/28 Python
python else语句在循环中的运用详解
2020/07/06 Python
优秀党员获奖感言
2014/02/18 职场文书
体育比赛口号
2014/06/09 职场文书
人事专员岗位说明书
2014/07/29 职场文书
生活部的活动方案
2014/08/19 职场文书
标准版离职证明书
2014/09/12 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
工程部岗位职责
2015/02/10 职场文书
行政处罚事先告知书
2015/07/01 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL