从两个例子看 Python【map、reduce、filter】内置函数的使用

一 概念介绍

        本文从求质数,求阶乘两个示例, 提示Python的内置函数【map、reduce、filter】的使用方式

        详细参见:https://docs.python.org/2/library/functions.html

    Map函数: 对iterable中的item依次执行function(item),执行结果输出为list

map(function, iterable[, iterable, ...]) -> list

    Filter函数:对iterable中的item依次执行function(item),将执行结果为True(!=0)的item组成一个List/String/Tuple(取决于iterable的类型)返回,False则退出(0),进行过滤。

filter(function or None, iterable) -> list, tuple, or string    

       Reduce函数: iterable中的item顺序迭代调用function,函数必须要有2个参数。要是有第3个参数,则表示初始值,可以继续调用初始值,返回一个值

    定义大致如下:

def reduce(function, iterable, initializer=None):
    it = iter(iterable)
    if initializer is None:
        try:
            initializer = next(it)
        except StopIteration:
            raise TypeError('reduce() of empty sequence with no initial value')
    accum_value = initializer
    for x in it:
        accum_value = function(accum_value, x)
    return accum_value

二 示例代码

#!/usr/bin/python
# encoding=utf-8
# Filename: lambda.py
# 测试程序

# 质数的定义 只有1和它本身两个因数
def isPrime(start, stop):
    # 取出质数,x从range(start,stop+1) 取的数
    return filter(lambda x : not [x % i for i in range(2, x) if x % i == 0], range(start, stop + 1))

# 实现5!+4!+3!+2!+1!
def addFactorial(n):
    result = []
    for i in map(lambda x:x + 1, range(n)):
        a = reduce(lambda x, y:x * y, map(lambda x:x + 1, range(i)))
        result.append(a)
    return reduce(lambda x, y:x + y, result)

def main():
    # 设置默认值
    start = 2
    stop = 0
    n=1
    try :
        start = input("Enter a start Number :")
        stop = input("Enter a stop  Number :")
        n = input("Enter a Number(int) : ")
    except :
        pass
    result = isPrime(start, stop)
    print(result)
    print addFactorial(n)

if __name__ == '__main__':
    main()
时间: 2024-11-01 12:35:33

从两个例子看 Python【map、reduce、filter】内置函数的使用的相关文章

Python内置函数的用法实例教程_python

本文简单的分析了Python中常用的内置函数的用法,分享给大家供大家参考之用.具体分析如下: 一般来说,在Python中内置了很多有用的函数,我们可以直接调用. 而要调用一个函数,就需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数.可以直接从Python的官方网站查看文档:http://docs.python.org/2/library/functions.html#abs 也可以在交互式命令行通过help(abs)查看abs函数的帮助信息. 调用abs函数: >>> a

Python内置函数map、reduce、filter在文本处理中的应用

文件是由很多行组成的,这些行组成一个列表,python提供了处理列表很有用的三个函数:map.reduce.filter.因此在文本处理中,可以使用这三个函数达到代码的更加精简清晰. 这里的map.reduce是python的内置函数,跟hadoop的map.reduce函数没有关系,不过使用的目的有点类似,map函数做预处理.reduce函数一般做聚合. map.reduce.filter在文本处理中的使用 下面是一个文本文件的内容,第1列是ID,第4列是权重,我们的目标是获取所有ID是奇数的

Python内置函数之filter map reduce介绍_python

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两个内置函数 locals 和globals(学习笔记)_python

Python两个内置函数--locals 和globals 这两个函数主要提供,基于字典的访问局部和全局变量的方式. 在理解这两个函数时,首先来理解一下python中的名字空间概念.Python使用叫做名字空间的东西来记录变量的轨迹.名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变量的值.实际上,名字空间可以象Python的字典一样进行访问 每个函数都有着自已的名字空间,叫做局部名字空间,它记录了函数的变量,包括函数的参数和局部定义的变量.每个模块拥有它自已的名字空间,叫做全局名字空

python 内部函数,以及lambda,filter,map等内置函数

1 #!/usr/bin/python 2 #encoding=utf-8 3 4 def back(): 5 return 1,2, "xxx" 6 7 #python 可变参数 8 def test(*param): 9 print "参数的长度是:%d" % len(param) 10 print "第二个参数是:%s" % param[1] 11 print "第一个参数是:%s" % param[0] 12 13 t

每个Python高手都应该知道的内置函数

python内置了一些非常巧妙而且强大的内置函数,对初学者来说,一般不怎么用到,我也是用了一段时间python之后才发现,哇还有这么好的函数,这个函数都是经典的而且经过严格测试的,可以一下子省了你原来很多事情,代码不仅简洁易读了很多,而且不用自己去闭门造车.既方便了自己又减少了bug. 1.sorted() 1)对于一个列表排序 sorted([100, 98, 102, 1, 40])   >>>[1, 40, 98, 100, 102]  2)通过key参数/函数 比如一个长列表里面

Python补充03 Python内置函数清单

原文:Python补充03 Python内置函数清单 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.   Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义.最常见的内置函数是: print("Hello World!") 在Python教程中,我们已经提到下面一些内置函数: 基本数据类型 type() 反过头来看看 dir() help(

Python入门及进阶笔记 Python 内置函数小结_python

内置函数 常用函数 1.数学相关 •abs(x) abs()返回一个数字的绝对值.如果给出复数,返回值就是该复数的模. 复制代码 代码如下: >>>print abs(-100) 100 >>>print abs(1+2j) 2.2360679775 •divmod(x,y) divmod(x,y)函数完成除法运算,返回商和余数. 复制代码 代码如下: >>> divmod(10,3) (3, 1) >>> divmod(9,3) (

【Python】python内置函数介绍

一 前言    在编写Python 程序或者工具脚本时,需要完成某个功能,可以选择编写一个具体的函数达到目的,当然也可以通过匿名/Python 内建函数来完成.本问讲述常见的Python匿名.内建函数---lambda,map,filter,reduce .二 例子2.1 Lambda 是一个匿名函数, 其语法为:lambda parameters:express parameters:可选,通常是逗号分隔的变量表达式形式,即位置参数. expression:不能包含分支或循环(但允许条件表达式