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中的yield浅析
Jun 16 Python
Django Highcharts制作图表
Aug 27 Python
Python 中 list 的各项操作技巧
Apr 13 Python
Python模拟脉冲星伪信号频率实例代码
Jan 03 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
python实现词法分析器
Jan 31 Python
Python面向对象进阶学习
May 21 Python
Python使用type关键字创建类步骤详解
Jul 23 Python
Django models.py应用实现过程详解
Jul 29 Python
python爬虫爬取笔趣网小说网站过程图解
Nov 18 Python
Python利器openpyxl之操作excel表格
Apr 17 Python
Python趣味实战之手把手教你实现举牌小人生成器
Jun 07 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+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
PHP 中关于ord($str)>0x80的详细说明
2012/09/23 PHP
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
jquery ajax例子返回值详解
2012/09/11 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
2015/10/08 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
Angularjs实现控制器之间通信方式实例总结
2018/03/27 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
用matplotlib画等高线图详解
2017/12/14 Python
tensorflow更改变量的值实例
2018/07/30 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
优秀应届毕业生自荐信
2013/11/16 职场文书
企业军训感言
2014/02/08 职场文书
监察建议书范文
2014/03/12 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
北大自主招生自荐信
2015/03/04 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
2019暑假学生安全口号
2019/06/27 职场文书
MySQL触发器的使用
2021/05/24 MySQL
关于antd tree 和父子组件之间的传值问题(react 总结)
2021/06/02 Javascript