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检测一个对象是否为字符串类的方法
May 21 Python
Python使用turtule画五角星的方法
Jul 09 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
Python引用计数操作示例
Aug 23 Python
python3利用ctypes传入一个字符串类型的列表方法
Feb 12 Python
Python3 Tkinkter + SQLite实现登录和注册界面
Nov 19 Python
TensorFlow实现批量归一化操作的示例
Apr 22 Python
Python unittest单元测试框架实现参数化
Apr 29 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
Jun 03 Python
基于python tkinter的点名小程序功能的实例代码
Aug 22 Python
Python实现冒泡排序算法的完整实例
Nov 04 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 加密解密内部算法
2010/04/22 PHP
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
PHP弱类型语言中类型判断操作实例详解
2017/08/10 PHP
document对象execCommand的command参数介绍
2006/08/01 Javascript
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
node.js实现快速截图
2016/08/27 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Django中Forms的使用代码解析
2018/02/10 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
详解pandas安装若干异常及解决方案总结
2019/01/10 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
Django 开发环境与生产环境的区分详解
2019/07/26 Python
python银行系统实现源码
2019/10/25 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
内业资料员岗位职责
2014/01/04 职场文书
真诚的求职信
2014/07/04 职场文书
年检委托书
2014/08/30 职场文书
小平小道观后感
2015/06/09 职场文书
Python实现8种常用抽样方法
2021/06/27 Python
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js
详解如何使用Nginx解决跨域问题
2022/05/06 Servers