zoukankan      html  css  js  c++  java
  • reduce、lambda

    reduce() 函数将一个数据集合(iterable[, initializer]可以看出是包含了初始化数据的,且初始化数据位列第1位,即集合中的第1个元素)中的所有数据进行下列操作:先对集合中的第 1、2 个元素进行function函数运算,得到的结果再与第3个元素进行function 函数运算,依次类推,最后得到一个结果。 
     
    lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。 
     
    在python 3之前的版本可以不用写from functools import reduce。
    在python 3以后, reduce已经不在built-in function里了, 要用它就得from functools import reduce。
     
    示例:
    from functools import reduce  
    a=reduce(lambda x,y:x*y,[1,2,3],5)
    print(a)
    运算过程是:
    5*1=5 
    5*2=10 
    10*3=30
     
    from functools import reduce
    a=reduce(lambda x,y:x+y**2,[1,2,3],3)
    print(a)
    运算过程是:
    3+1*1=4  
    4+2*2=8 
    8+3*3=17
     
    from functools import reduce
    a=reduce(lambda x,y:x*2+y*3,[4,6],3)
    print(a)
    运算过程是:
    3*2+4*3=18
    18*2+6*3=54
     
     
    如果单独使用lambda,示例:
    MAXIMUM = lambda x,y :  (x > y) * x + (x < y) * y
    MINIMUM = lambda x,y :  (x > y) * y + (x < y) * x
    a = 10
    b = 20
    c = 30
    print 'The largar one is %d' % MAXIMUM(a,b,c)
    print 'The lower one is %d' % MINIMUM(a,b,c)
     
     
  • 相关阅读:
    浅拷贝与深拷贝的实现
    Java批量下载生成zip文件
    jsp页面内容导出到Excel中
    Table动态增加删除行
    JavaScript校验日期格式
    java实现算术表达式求值
    XCode 4 编译错误大全整理
    VMWare安装黑苹果Mac OS
    ODA(Open Design Alliance)介绍
    AutoCAD 2010 开发与之前版本的区别
  • 原文地址:https://www.cnblogs.com/myshuzhimei/p/11753893.html
Copyright © 2011-2022 走看看