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基础教程之序列详解
Aug 29 Python
python通过urllib2获取带有中文参数url内容的方法
Mar 13 Python
利用Python脚本生成sitemap.xml的实现方法
Jan 31 Python
Python 常用的安装Module方式汇总
May 06 Python
TF-IDF算法解析与Python实现方法详解
Nov 16 Python
python读取视频流提取视频帧的两种方法
Oct 22 Python
python与caffe改变通道顺序的方法
Aug 04 Python
python:接口间数据传递与调用方法
Dec 17 Python
python实现弹窗祝福效果
Apr 07 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 Python
详解Python函数print用法
Jun 18 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/12/13 PHP
计算php页面运行时间的函数介绍
2013/07/01 PHP
php实现留言板功能
2017/03/05 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
2014/04/29 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
2015/07/27 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
微信小程序canvas绘制圆角base64图片的实现
2019/08/18 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
React服务端渲染原理解析与实践
2021/03/04 Javascript
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
python生成随机mac地址的方法
2015/03/16 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
vscode 远程调试python的方法
2017/12/01 Python
使用python模拟高斯分布例子
2019/12/09 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
Html5定位终极解决方案
2020/02/05 HTML / CSS
融资租赁计划书
2014/04/29 职场文书
微笑服务标语
2014/06/24 职场文书
护士求职信
2014/07/05 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
保卫工作个人总结
2015/03/03 职场文书
在HTML中引入CSS的几种方式介绍
2021/12/06 HTML / CSS