Core Python:Python中的针对函数处理的特殊方法
2014-03-06 11:04
441 查看
很多语言都提供了对参数或变量进行处理的机制,作为灵活的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):对集合中的元素进行累加
下面针对上面的描述写一个简单的小例子
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中针对函数处理的特殊方法
- 浅析python 内置字符串处理函数的使用方法
- python 特殊字符处理函数
- [Python] 字符串处理 (函数/方法)
- 通过Python的内置字符串处理函数来处理字符串的方法和整理
- 处理事件的方式:两种类的覆盖处理(自己管理,覆盖专用事件函数;自己统一管理,覆盖QWidget::Event通用函数),一种对象的处理(父控件统一管理,即安装过滤器),两种全局处理(QCoreApplication安装过滤器;覆盖notify方法)
- python 函数是可调用对象和特殊方法__call__
- 【转】 python特殊方法函数
- 收集常用的Python 内置的各种字符串处理 函数的使用方法
- python学习笔记 --- python中使用哈希方法处理字符与数字,ord()等函数详解
- Python_day8_面向对象(多态、成员修饰符、类中特殊方法、对象边缘知识)、异常处理之篇
- 浅析python 内置字符串处理函数的使用方法
- Python Selenium 处理 alert 提示信息的方法
- DNS处理模块dnspython之详解模块域名解析方法
- 对python字符串操作的几种方法(函数)
- python 新式类学习随笔-定制类的特殊方法(1)
- Python的hasattr() getattr() setattr() 函数使用方法详解
- xml配置文件特殊符号的处理方法
- python每次处理一个字符的三种方法