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函数返回值实例分析
Jun 08 Python
Python的requests网络编程包使用教程
Jul 11 Python
Python基于回溯法子集树模板实现8皇后问题
Sep 01 Python
python实现决策树分类
Aug 30 Python
python分批定量读取文件内容,输出到不同文件中的方法
Dec 08 Python
python 模拟银行转账功能过程详解
Aug 06 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
Sep 26 Python
python代码打印100-999之间的回文数示例
Nov 24 Python
python实现数字炸弹游戏程序
Jul 17 Python
Pycharm安装python库的方法
Nov 24 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
Jan 27 Python
解决numpy数组互换两行及赋值的问题
Apr 17 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 curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
this[] 指的是什么内容 讨论
2007/03/24 Javascript
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
jQuery EasyUI API 中文文档 搜索框
2011/09/29 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
Nodejs+express+ejs简单使用实例代码
2017/09/18 NodeJs
原生JavaScript实现拖动校验功能
2020/09/29 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
python 将字符串转换成字典dict
2013/03/24 Python
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
python实现文件路径和url相互转换的方法
2015/07/06 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
Python内置函数及功能简介汇总
2020/10/13 Python
鱼油专家:Omegavia
2016/10/10 全球购物
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
请解释接口的显式实现有什么意义
2012/05/26 面试题
餐饮业的创业计划书范文
2013/12/26 职场文书
开业庆典邀请函
2014/01/08 职场文书
高二美术教学反思
2014/01/14 职场文书
《识字五》教学反思
2014/03/01 职场文书
《四季》教学反思
2014/04/08 职场文书
工程安全生产协议书
2014/11/21 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS