zoukankan      html  css  js  c++  java
  • 函数式编程工具:filter和reduce

    # -*- coding: utf-8 -*-
    #python 27
    #xiaodeng
    #函数式编程工具:filter和reduce
    
    
    #python内置函数中,map函数是用来进行函数式编程这类工具最简单的内置函数代数
    
    
    
    #函数式编程含义:
    #一种编程范式,也就是如何编写程序的方法论,是一种编程思想。
    #无法给予准确的定义
    #函数式编程的编程风格强调表达式计算,而不是执行命令。
    
    
    
    #常见函数式编程
    #filter:基于某一测试函数过滤出一些元素
    #reduce:对每对元素都应用函数并运行到最后结果,两者都返回可迭代对象
    
    
    
    #页码:523
    #filter, 过滤
    print list(filter((lambda x:x>0),range(-5,5)))#[1, 2, 3, 4]
    
    #以上等价于:
    res=[]
    for x in range(-5,5):
        if x>0:
            res.append(x)
    #为什么在print res时没有缩进呢?因为res他的定义是顶格的,如果print不是顶格,那么两者之间必然存在输出结果的差异
            
    print res#[1, 2, 3, 4]
    
    
    
    #reduce函数
    #一对元素两两运行得到其结果
    print reduce((lambda x,y:x+y),[1,2,3,4])#10
    print reduce((lambda x,y:x*y),[1,2,3,4])#24
    
    
    #编写函数通用设计原则:
    1)函数尽可能小,尽可能自包含、有单一、统一的用途
    2)出入参数和返回值等其他部分相互通信--通信的功能
  • 相关阅读:
    数据仓库专题18-数据建模语言IDEF(转载)
    数据仓库专题(14)-数据仓库建设指导原则:一切以就绪数据为主
    数据仓库专题(16)-分布式数据仓库实践指南-目录篇
    解释器模式
    命令模式
    责任链模式
    代理模式
    享元模式
    外观模式
    装饰器模式
  • 原文地址:https://www.cnblogs.com/dengyg200891/p/4909646.html
Copyright © 2011-2022 走看看