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 相关文章推荐
windows下wxPython开发环境安装与配置方法
Jun 28 Python
用Python的线程来解决生产者消费问题的示例
Apr 02 Python
python利用不到一百行代码实现一个小siri
Mar 02 Python
TensorFlow实现MLP多层感知机模型
Mar 09 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
Jan 07 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
Nov 07 Python
keras获得某一层或者某层权重的输出实例
Jan 24 Python
sklearn+python:线性回归案例
Feb 24 Python
python生成任意频率正弦波方式
Feb 25 Python
Python基于smtplib模块发送邮件代码实例
May 29 Python
Anaconda的安装与虚拟环境建立
Nov 18 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 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 模拟$_PUT实现代码
2010/03/15 PHP
PHP 函数学习简单小结
2010/07/08 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
2016/11/09 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
Python3 适合初学者学习的银行账户登录系统实例
2017/08/08 Python
python在每个字符后添加空格的实例
2018/05/07 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
授权委托书样本及填写说明
2014/09/19 职场文书
工作年限证明模板
2014/11/01 职场文书
稽核岗位职责范本
2015/04/13 职场文书
教师节主题班会教案
2015/08/17 职场文书
小学生六年级作文之关于感恩
2019/08/16 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
Python List remove()实例用法详解
2021/08/02 Python
Vue Element plus使用方法梳理
2022/12/24 Vue.js