Pythont特殊语法filter,map,reduce,apply使用方法
(1)lambda
lambda是Python中一个很有用的语法,它允许你快速定义单行最小函数。类似于C语言中的宏,可以用在任何需要函数的地方。
基本语法如下:
函数名 = lambda args1,args2,...,argsn : expression
例如:
add = lambda x,y : x + y print add(1,2)
(2)filter
filter函数相当于一个过滤器,函数原型为:filter(function,sequence),表示对sequence序列中的每一个元素依次执行function,这里function是一个bool函数,举例说明:
sequence = [1,2,3,4,5,6,7,8,9,10] fun = lambda x : x % 2 == 0 seq = filter(fun,sequence) print seq
以下代码就是表示筛选出sequence中的所有偶数。
filter函数原型大致如下:
def filter(fun,seq): filter_seq = [] for item in seq: if fun(item): filter_seq.append(item) return filter_seq
(3)map
map的基本形式为:map(function,sequence),是将function这个函数作用于sequence序列,然后返回一个最终结果序列。比如:
seq = [1,2,3,4,5,6] fun = lambda x : x << 2 print map(fun,seq)
map的函数源代码大致如下:
def map(fun,seq): mapped_seq = [] for item in seq: mapped_seq.append(fun(item)) return mapped_seq
(4)reduce
reduce函数的形式为:reduce(function,sequence,initVal),function表示一个二元函数,sequence表示要处理的序列,而initVal表示处理的初始值。比如:
seq = [1,2,3,4,5,6,7,8,9,10] fun = lambda x,y: x + y print reduce(fun,seq,0)
表示从初始值0开始对序列seq中的每一个元素累加,所以得到结果是55
reduce函数的源代码大致如下:
def reduce(fun,seq,initVal = None): Lseq = list(seq) if initVal is None: res = Lseq.pop(0) else: res = initVal for item in Lseq: res = fun(seq,item) return res
(5)apply
apply是用来间接地代替某个函数,比如:
def say(a,b): print a,b apply(say,(234,'Hello World!'))
相关推荐
-
python基础教程之Filter使用方法
python Filter Python中的内置函数filter()主要用于过滤序列. 和map类似,filter()也接收一个函数和序列,和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是 True还是False决定保留还是丢弃该元素. 例1: number_list = range(-5, 5) less_than_zero = list(filter(lambda x: x < 0, number_list)) print(less_than_zero)
-
Python过滤函数filter()使用自定义函数过滤序列实例
filter函数: filter()函数可以对序列做过滤处理,就是说可以使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤.最终一次性返回过滤后的结果. filter()函数有两个参数: 第一个,自定函数名,必须的 第二个,需要过滤的列,也是必须的 DEMO 需求,过滤大于5小于10的数: 复制代码 代码如下: # coding=utf8 # 定义大于5小于10的函数 def guolvhanshu(num): if num>5 and num<
-
Python内置函数之filter map reduce介绍
Python内置了一些非常有趣.有用的函数,如:filter.map.reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车. 1. filter函数的功能相当于过滤器.调用一个布尔函数bool_func来迭代遍历每个seq中的元素:返回一个使bool_seq返回值为true的元素的序列. >>> N=range(10) >>> print filter(lambda x:x>
-
Python中map,reduce,filter和sorted函数的使用方法
map map(funcname, list) python的map 函数使得函数能直接以list的每个元素作为参数传递到funcname中, 并返回响应的新的list 如下: def sq(x): return x*x #求x的平方 map(sq, [1,3, 5,7,9]) #[1, 9, 25, 49, 81] 在需要对list中的每个元素做转换的时候, 会很方便 比如,把list中的每个int 转换成str map(str, [23,43,4545,324]) #['23', '43',
-
Python数组条件过滤filter函数使用示例
使用filter函数,实现一个条件判断函数即可. 比如想过滤掉字符串数组中某个敏感词,示范代码如下: #filter out some unwanted tags def passed(item): try: return item != "techbrood" #can be more a complicated condition here except ValueError: return False org_words = [["this","is
-
Python中的filter()函数的用法
Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素. 例如,在一个list中,删掉偶数,只保留奇数,可以这么写: def is_odd(n): return n % 2 == 1 filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]) # 结果: [1, 5, 9, 15]
-
Python中的map、reduce和filter浅析
1.先看看什么是 iterable 对象 以内置的max函数为例子,查看其doc: 复制代码 代码如下: >>> print max.__doc__max(iterable[, key=func]) -> valuemax(a, b, c, ...[, key=func]) -> value With a single iterable argument, return its largest item.With two or more arguments, return t
-
Python中的特殊语法:filter、map、reduce、lambda介绍
filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回: 复制代码 代码如下: >>> def f(x): return x % 2 != 0 and x % 3 != 0 >>> filter(f, range(2, 25)) [5, 7, 11, 13, 17, 19, 23] >>
-
简单介绍Python中的filter和lambda函数的使用
filter(function or None, sequence),其中sequence 可以是list ,tuple,string.这个函数的功能是过滤出sequence 中所有以元素自身作... filter(function or None, sequence),其中sequence 可以是list ,tuple,string.这个函数的功能是过滤出sequence 中所有以元素自身作为参数调用function时返回True或bool(返回值)为True的元素并以列表返回. filter
-
Pythont特殊语法filter,map,reduce,apply使用方法
(1)lambda lambda是Python中一个很有用的语法,它允许你快速定义单行最小函数.类似于C语言中的宏,可以用在任何需要函数的地方. 基本语法如下: 函数名 = lambda args1,args2,...,argsn : expression 例如: add = lambda x,y : x + y print add(1,2) (2)filter filter函数相当于一个过滤器,函数原型为:filter(function,sequence),表示对sequence序列中的每一个
-
python中filter,map,reduce的作用
目录 一.map函数 1. lambda函数 2. 自定义函数 二.filter函数 1. lambda函数 2. 自定义函数 三.reduce函数 1. lambda函数 2. 自定义函数 一.map函数 作用:map主要作用是计算一个序列或者多个序列进行函数映射之后的值 语法:map(function,iterable1,iterable2) 说明:function中参数值可以是一个,也可以是多个:iterable代表function运算中的参数值,有几个参数值就传入几个iterable 注
-
python中几个常用函数的正确用法-lambda/filter/map/reduce
目录 1 lambda 2 filter 3 map 4 reduce 5 联合使用 lambda/filter/map/reduce这几个函数面试中很肯定会用到,本篇主要介绍这几个函数的用法. 1 lambda 匿名函数,用法如下: # lambada 参数,参数,参数 : 返回的表达式 示例1: f = lambda x, y: x * y print(f(2, 3)) # 6 示例2: r = (lambda x, y: x+y)(1, 2) print(r) # 3 2 filter f
-
Python学习之魔法函数(filter,map,reduce)详解
目录 filter() 函数 map() 函数 reduce() 函数 filter() 函数 小实战 今天的这一章节我们来学习一下,Python 中的三个高级函数,也被称之为 魔法函数.之所以把他们交的这么高级,主要是因为它们返回的数据类型多数是 迭代器. 我们在上一章节有介绍过,迭代器 可以提升我们的代码的执行效率.降低内存消耗.所以接下来我们就认识一下这些 魔法函数. filter() 函数 filter() 函数 是python的一个内置函数. filter() 函数的功能:可以将一个可
-
Python filter()及reduce()函数使用方法解析
一.filter() 在Python内建函数中,有一个和map()函数用法类似.却可以用来过滤元素的迭代函数,这个函数就是filter().它的函数原型是:filter(function,itearable) filter返回的是一个filter对象,可以通过list()或者for循环取出内容. 注意:传入的函数返回值必须是布尔类型.若是真则保留元素,假则过滤掉这元素 def is_even(x): return x%2==0 a=filter(is_even,[1,2,3,4,5,6]) pr
-
Array数组对象中的forEach、map、filter及reduce详析
前言 刚才某人问了我一个问题.map怎么遍历,我刷刷刷就是一顿写.遍历么,forEach么,妥妥的. var map = new Map(); map.set('item1', 'value1') map.set('item2', 'value2') map.forEach(function(value, key, map) { console.log("Key: %s, Value: %s", key, value); }); 好吧,我写完了之后,他发给我了一句话. [].forEa
-
Python3中map(),reduce(),filter()的详细用法
目录 前言 1.map() 2.filter() 3.reduce() 前言 Python3中的map().reduce().filter() 这3个一般是用于对序列进行操作的内置函数,它们经常需要与 匿名函数 lambda 联合起来使用,我们今天就来学习下. 1.map() map() 可以用于在函数中对指定序列做映射,返回值是一个迭代器,其使用语法如下: map(function, *iterables) 上面的第一个参数 function 指一个函数,第二个参数 iterable 指一个或
-
一文详解Python中的Map,Filter和Reduce函数
目录 1. 引言 2. 高阶函数 3. Lambda表达式 4. Map函数 5. Filter函数 6. Reduce函数 7. 总结 1. 引言 本文重点介绍Python中的三个特殊函数Map,Filter和Reduce,以及如何使用它们进行代码编程.在开始介绍之前,我们先来理解两个简单的概念高阶函数和Lambda函数. 2. 高阶函数 把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式. 举例如下: def higher(your_function, som
-
Python3的高阶函数map,reduce,filter的示例详解
函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数. 注意其中:map和filter返回一个惰性序列,可迭代对象,需要转化为list >>> a = 3.1415 >>> round(a,2) 3.14 >>> a_round = round >>> a_round(a,2) 3.14 >>> def func_devide(x, y, f): return f(x) - f(y
随机推荐
- AngularJS 使用 UI Router 实现表单向导
- 正则表达式之 Unicode 匹配特殊字符
- java获取当前日期和时间的二种方法分享
- java中子类继承父类,程序运行顺序的深入分析
- IOS中的target action控件的实现
- Python列表删除的三种方法代码分享
- ReactJs快速入门教程(精华版)
- C++初学者之根据输入的任何一个正整数,输出可能被表示的连续正整数
- PHP函数实现从一个文本字符串中提取关键字的方法
- php中设置index.php文件为只读的方法
- 网站加速 PHP 缓冲的免费实现方法
- 一个实用的php验证码类
- 详细介绍Python语言中的按位运算符
- 很酷的60款jQuery 幻灯片演示和下载
- JQuery筛选器全系列介绍
- chrome下jq width()方法取值为0的解决方法
- jquery实现全选功能效果的实现代码
- json格式数据分析工具PageElement类分享(仿Session写法)
- JS实现支持Ajax验证的表单插件
- 一些很实用且必用的小脚本代码第1/5页