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生成pdf文件的方法
Aug 04 Python
Python脚本在Appium库上对移动应用实现自动化测试
Apr 17 Python
Python中的fileinput模块的简单实用示例
Jul 09 Python
Python学习小技巧之列表项的排序
May 20 Python
python使用正则表达式的search()函数实现指定位置搜索功能
Nov 10 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
python OpenCV GrabCut使用实例解析
Nov 11 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
Mar 17 Python
python 5个实用的技巧
Sep 27 Python
matlab xlabel位置的设置方式
May 21 Python
Python 数据结构之十大经典排序算法一文通关
Oct 16 Python
尝试使用Python爬取城市租房信息
Apr 12 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 身份证号验证函数
2009/05/07 PHP
遭遇php的in_array低性能问题
2013/09/17 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
2015/09/22 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
微信小程序实现带缩略图轮播效果
2018/11/04 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
2019/05/21 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
Python作用域用法实例详解
2016/03/15 Python
centos6.4下python3.6.1安装教程
2017/07/21 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
Python内置函数及功能简介汇总
2020/10/13 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
征用土地赔偿协议书
2014/09/26 职场文书
运动会报道稿300字
2014/10/02 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
图文详解Nginx版本平滑升级方案
2021/09/15 Servers
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python