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抓取网页中的图片示例
Feb 28 Python
Python实现设置windows桌面壁纸代码分享
Mar 28 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
Dec 22 Python
深入剖析Python的爬虫框架Scrapy的结构与运作流程
Jan 20 Python
详解tensorflow载入数据的三种方式
Apr 24 Python
Python爬虫之UserAgent的使用实例
Feb 21 Python
python中的句柄操作的方法示例
Jun 20 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
Aug 27 Python
python线程的几种创建方式详解
Aug 29 Python
Django配置Bootstrap, js实现过程详解
Oct 13 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 Python
粗暴解决CUDA out of memory的问题
May 22 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和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
用JS控制回车事件的代码
2011/02/20 Javascript
JS简单实现文件上传实例代码(无需插件)
2013/11/15 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
使用canvas实现仿新浪微博头像截取上传功能
2015/09/02 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
python中正则表达式的使用方法
2018/02/25 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
python3+PyQt5自定义视图详解
2018/04/24 Python
python dataframe向下向上填充,fillna和ffill的方法
2018/11/28 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
使用wxpy实现自动发送微信消息功能
2020/02/28 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
PHP笔试题
2012/02/22 面试题
什么是TCP/IP
2014/07/27 面试题
机关单位动员会主持词
2014/03/20 职场文书
党员民主生活会整改措施
2014/09/26 职场文书
财务工作失误检讨书
2015/02/19 职场文书
公司开会通知
2015/04/20 职场文书
Python打包exe时各种异常处理方案总结
2021/05/18 Python
windows安装python超详细图文教程
2021/05/21 Python
详解Vue的列表渲染
2021/11/20 Vue.js