Python lambda和reduce函数

Python lambda和reduce函数

大家好,又见面了,我是全栈君。

看到一篇博文写lambda和reduce函数。笔者小痒了一下,用Python实现一下:

 

#! /usr/bin/env python

# -*-coding:utf-8-*-

 

import time

import math

 

def test_reduce():

   start_time = time.clock()

   print reduce[A1] (lambdax,y:x*y[A2] ,range(1,long(input(‘plz input a num(>0):’)+1))[A3] )

   print ‘Time used:%s’ %(time.clock()-start_time)

   return;

 

def test_math():

   start_time2 = time.clock()

   print math.factorial[A4] (long(raw_input(‘plz input a num(>0):’)))

   print ‘Time used:%s’ %(time.clock()-start_time2)

 

if __name__ == ‘__main__’:

   

   print ‘~’*34+’Use reduce’+’~’*34

   test_reduce()

 

   print ‘~’*34+’Use math’+’~’*34

   test_math()

 

 

 

 

Python is Python!


 [A1]关于reduce函数的參数及解释:

reduce(function, iterable[, initializer])

Apply function of two argumentscumulatively to the items of iterable, from left to right, so as to reduce theiterable to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4,5]) calculates ((((1+2)+3)+4)+5). The left argument, x, is the accumulatedvalue and the right argument, y, is the update value from the iterable. If theoptional initializer is present, it is placed before the items of the iterablein the calculation, and serves as a default when the iterable is empty. Ifinitializer is not given and iterable contains only one item, the first item isreturned.

 [A2]关于lambda函数的參数及解释:

An anonymous inline function consisting ofa single expressionwhich is evaluated when the function is called. The syntax to create a lambdafunction is lambda [arguments]: expression

Lambda expressions (sometimes called lambdaforms) have the same syntactic position as expressions. They are a shorthand tocreate anonymous functions; the expression lambda arguments: expression yieldsa function object. The unnamed object behaves like a function object definedwith

def name(arguments):

   return expression

 [A3]关于range函数的參数及解释:

the built-in function range() returns a sequence of integers suitable to emulate theeffect of Pascal’s for i := a to b do; e.g., range(3) returns the list [0, 1,2].

 [A4]关于factorial函数的參数及解释:

math.factorial(x)

Return x factorial. Raises ValueError if x is not integral or is negative.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116036.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mvc的各个部分都有哪些技术实现_计算机植入木马程序

    mvc的各个部分都有哪些技术实现_计算机植入木马程序MVC三个基本部分:模型(Model)、视图(View)和控制器(Controller)Model:负责业务对象与数据库的映射(ORM)View:负责与用户的交互Controller:接受用户的输入调用模型和视图完成用户的请求MVTDjango框架的MTV设计模式借鉴了MVC框架的思想,三部分为:Model、Template和ViewModel(模型):负责业务对象与数据库的对象(…

    2025年6月12日
    6
  • SpringMVC执行流程和原理「建议收藏」

    SpringMVC执行流程和原理「建议收藏」SpringMVC流程:01、用户发送出请求到前端控制器DispatcherServlet。02、DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。03、HandlerMapping找到具体的处理器(可查找xml配置或注解配置),生成处理器对象及处理器拦截器(如果有),再一起返回给DispatcherServlet。04、Dispatche…

    2022年6月28日
    25
  • SpringBoot面试题及答案整理

    SpringBoot面试题及答案整理什么是SpringBootSpringBoot建立spring框架之上,使用spring启动,帮我们避免了大量的配置。因此,SpringBoot可以帮助我们以最少的工作量,更加健壮地使用现有的Spring功能。SpringBoot有哪些优点?1、减少开发,测试时间和努力。2、使用JavaConfig有助于避免使用XML。3、避免大量的Maven导入和各种版本冲突。4、提供意见发展方法。5、通过提供默认值快速开始开发。6、没有单独的Web服

    2022年5月11日
    49
  • 测试用例八大要素有哪些?

    测试用例八大要素有哪些?测试用例八大要素:用例编号、操作步骤、测试标题、重要级别、前置条件、测试输入、所属模块、预期结果。用例编号由字符串组成,具有易于识别性和唯一性;操作步骤需要标明详细的测试步骤;测试标题需要简洁、明了;重要级别一般分为高、中、低;前置条件就是进行测试用例的前提条件;测试输入包括用户名、密码、订单号等内容;所属模块标明被测试的模块或者单元;预期结果表示预期输出的结果。测试用例很重要,是设计和测试过程的基础,同时测试用例也是软件测试的核心,可以发现软件可能出现的bug,一般每个软件产品都有与之对应的测试用

    2022年6月28日
    99
  • wget(1.11.4) for win「建议收藏」

    wget(1.11.4) for win「建议收藏」下载wget(1.11.4)forwin安装添加wget环境变量,这样使用就更方便了,右键计算机->属性->高级系统设置->高级->环境变量->选中PATH->编辑,在最后添加;C:\ProgramFiles(x86)\GnuWin32\bin下载文件wget网址而要让档案自动储存到指令的目录下,则需要借用-P这个参数,可以使用以下的指令wge…

    2022年6月3日
    27
  • [数学建模] 大数据建模五步法「建议收藏」

    [数学建模] 大数据建模五步法「建议收藏」目录传送门概要第一步:选择模型或自定义模式第二步:训练模型第三步:评估模型第四步:应用模型第五步:优化模型最后语概要PS:本文转载自https://www.sohu.com/a/198093510_783844本文将尝试来梳理一下数据建模的步骤,以及每一步需要做的工作。第一步:选择模型或自定义模式这是建模的第一步,我们需要基于业务问题,来决定可以选择哪些可用的模型。比如,如果要预测产品销量,则可以选择数值预测模型(比如回归模型,时序预测……);如果要预测员工是否离职,则可以选择分类模型(比

    2022年6月9日
    77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号