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 相关文章推荐
Cython 三分钟入门教程
Sep 17 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
Python Flask前后端Ajax交互的方法示例
Jul 31 Python
Python拼接字符串的7种方法总结
Nov 01 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
对Python发送带header的http请求方法详解
Jan 02 Python
Python求一批字符串的最长公共前缀算法示例
Mar 02 Python
详解python中的数据类型和控制流
Aug 08 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
使用Tensorflow实现可视化中间层和卷积层
Jan 24 Python
十个Python自动化常用操作,即拿即用
May 10 Python
Python中OpenCV实现简单车牌字符切割
Jun 11 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中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
php格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
详解php实现页面静态化原理
2017/06/21 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
Jquery知识点三 jquery表单对象操作
2011/01/17 Javascript
20个最新的jQuery插件
2012/01/13 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
防止jQuery ajax Load使用缓存的方法小结
2014/02/22 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
浅析JavaScript中作用域和作用域链
2016/12/06 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
python操作ie登陆土豆网的方法
2015/05/09 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
一些Unix笔试题和面试题
2013/01/22 面试题
建筑施工员岗位职责
2013/11/26 职场文书
留学生求职信
2014/06/03 职场文书
陈安之励志演讲稿
2014/08/21 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
2014年企业党支部工作总结
2014/12/04 职场文书
离婚协议书怎么写的
2014/12/14 职场文书
2015年父亲节寄语
2015/03/23 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书