zoukankan      html  css  js  c++  java
  • Python基础-----reduce函数

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

    # 若有一个需求用于实现:求和列表中所用元素的乘积


    '''
    1、普通函数

    num_list = [3,4,8,16]

    #定义乘法操作函数
    def multi(x,y):
    return x*y

    #定义主函数
    def reduce_test(func,array):
    res = array.pop(0)
    for num in array:
    res = func(res,num)
    return res

    print(reduce_test(multi,num_list))
    '''

    '''
    2、匿名函数

    num_list = [3,4,8,16]

    def reduce_test(func,array):
    res = array.pop(0)
    for num in array:
    res = func(res,num)
    return res

    print(reduce_test(lambda x,y:x*y,num_list))
    '''

    '''
    3、若我们需求改变,还需要传入用户指定的初始值

    num_list = [3,4,8,16]

    def reduce_test(func,array,init = None):
    if init is None:
    res = array.pop(0)
    else:
    res = init
    for num in array:
    res = func(res,num)
    return res

    print(reduce_test(lambda x,y:x*y,num_list,10))
    '''

    '''
    4、reduce函数
    作用:用于处理列表的所有元素得到一个返回值
    使用之前需要导入模块
    from functools import reduce
    用法:reduce(function,sequence,init=None)
    第一个参数为处理函数,第二参数为一个序列(如列表等),第三个参数为初始值默认为None,返回一个值
    上述需求可以用reduce函数实现如下:

    from functools import reduce
    num_list = [3,4,8,16]
    print(reduce(lambda x,y:x*y,num_list,0.1))
    '''
  • 相关阅读:
    平易近人、兼容并蓄——Spark SQL 1.3.0概览
    System.getProperty
    Apache Commons CLI 简介
    The declared package does not match the expected package
    Maven常用命令
    使用SBT构建Scala应用(转自git)
    Area Under roc Curve(AUC)
    用特征来实现混入(mix-in)式的多重继承
    暗时间
    SVN如何commit(提交)项目代码
  • 原文地址:https://www.cnblogs.com/Meanwey/p/9741252.html
Copyright © 2011-2022 走看看