python中filter, map, reduce, lambda

python 中内置的几个函数filter, map, reduce, lambda简单的例子。

#!/usr/bin/env python
#_*_coding:utf-8_*_

#filter(function, sequence):
#对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回。
#可以看作是过滤函数。
tasks = [
    {
        ‘id‘: 1,
        ‘title‘: u‘golang‘,
        ‘description‘: u‘Golang‘,
        ‘done‘: False
    },
    {
        ‘id‘: 2,
        ‘title‘: u‘Learn Python‘,
        ‘description‘: u‘Need to find a good Python tutorial on the web‘,
        ‘done‘: False
    }
]

def get_task(task_id):
    task = filter(lambda t: t[‘id‘] == task_id, tasks)
    print task

get_task(2)

# map(function, sequence)
# 对sequence中的item依次执行function(item),执行结果组成一个List返回
def add(x, y):
    return x + y

print map(add, range(10), range(10))
print map(lambda x,y:x+y, range(10), range(10))

def _str(s):
    s = s + ".log"
    return s

s = ["a", "b", "c"]
print map(_str, s)

#reduce(function, sequence, starting_value)
#对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和
print reduce(add, range(1, 10))

结果为:

[{‘description‘: u‘Need to find a good Python tutorial on the web‘, ‘done‘: False, ‘id‘: 2, ‘title‘: u‘Learn Python‘}]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
[‘a.log‘, ‘b.log‘, ‘c.log‘]
45
时间: 2024-10-06 13:25:32

python中filter, map, reduce, lambda的相关文章

filter,map,reduce,lambda(python3)

1.filter filter(function,sequence) 对sequence中的item依次执行function(item),将执行的结果为True(符合函数判断)的item组成一个list.string.tuple(根据sequence类型决定)返回. 1 #!/usr/bin/env python 2 # encoding: utf-8 3 """ 4 @author: 侠之大者kamil 5 @file: filter.py 6 @time: 2016/4/

Python中的Map/Reduce

MapReduce是一种函数式编程模型,用于大规模数据集(大于1TB)的并行运算.概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性.它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上. Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组. 然而在python中,ma

Python中特殊函数和表达式 filter,map,reduce,lambda

1. filter 官方解释:filter(function or None, sequence) -> list, tuple, or string Return those items of sequence for which function(item) is true. If function is None, return the items that are true. If sequence is a tuple or string, return the same type,

Python 函数 filter() map() reduce()

1.filter(bool_func,seq) filter()是'筛选函数',也接收一个函数和一个序列,filter()把传人的函数依次作用于序列的每个元素,然后根据返回值是True还是false决定保留还是丢弃该元素 例子: def fr(x): return x%2==1 print 'filter1:',filter(fr,range(1,51))#筛选出100以内的所有奇数 print 'filter2:',filter(fr,[1,2,3,4]) 输出: filter1: [1, 3

python中的map&reduce

Map --映射 Reduce -- 归纳 将大数据标准化的处理 Map 拆封任务,Reduce将结果合并 这样是不是能够将很多计算机组成一台超级计算机呢? 一些问题:如果任务本身就很复杂,那么拆解任务本身就是一个很打的难题. python 在2.6 的时候 增加了 map reduce函数 例如我们可以这样写 import urllib2 urls = [ 'https://www.baidu.com', 'http://www.douban.com' ] resurt = map(urlli

python之lambda,filter,map,reduce函数

g = lambda x:x+1 看一下执行的结果: g(1) >>>2 g(2) >>>3 当然,你也可以这样使用: lambda x:x+1(1) >>>2 可以这样认为,lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体,用函数来表示为: def g(x): return x+1 非常容易理解,在这里lambda简化了函数定义的书写形式.是代码更为简洁,但是使用函数的定义方式更为直观,易理解. Python中,

Python学习(五)函数 —— 内置函数 lambda filter map reduce

Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.filter.map.reduce 进行初步的学习. lambda 匿名函数 lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值. lambda语句构建的其实是一个函数对象,参考下例来感受下 lambda 匿名函数: 1 def f(i): # 用户自定义返回平方数 2 retur

python——lambda,filter,map,reduce

lambda函数 使用方法:lambda [arg1[,arg2,arg3,...,argn]] : expression 如: add = lambda(x,y:x+y) add(1,2) 结果为1+2=3 filter函数 filter(bool_func,seq) 此函数的功能相当于过滤器,通过返回值为bool的函数bool_func来迭代遍历seq中的每个元素: 结果返回一个seq中使bool_func返回值为true的元素的序列. filter(lambda x : x%2 == 0,

Python中常用内置函数介绍(filter,map,reduce,apply,zip)

Python是一门很简洁,很优雅的语言,其很多内置函数结合起来使用,可以使用很少的代码来实现很多复杂的功能,如果同样的功能要让C/C++/Java来实现的话,可能会头大,其实Python是将复杂的数据结构隐藏在内置函数中,只要写出自己的业务逻辑Python会自动得出你想要的结果.这方面的内置函数主要有,filter,map,reduce,apply,结合匿名函数,列表解析一起使用,功能更加强大.使用内置函数最显而易见的好处是: 1. 速度快,使用内置函数,比普通的PYTHON实现,速度要快一倍左