python reduce方法,.reduce函数

  python reduce方法,.reduce函数

  主要介绍Python中reduce函数的详细讲解,通过示例代码详细介绍,对大家的学习或工作有一定的参考价值。有需要的朋友下面和边肖一起学习。

  00-10101Reduce用法2 Reduce与for循环性能比较reduce函数原本是python2中的内置函数,但在python3中被移到了functools模块中。

  reduce函数首先从列表(或序列)中取出两个元素来执行指定的函数,并将输出结果和第三个元素传递给函数,然后将输出结果和第四个元素传递给函数,…,以此类推,直到取完列表中的所有元素。

  

目录

 

  为了对列表元素求和,如果我们不使用reduce,我们通常使用for loop:

  def sum_func(arr):

  如果len(arr)=0:

  返回0

  else:

  out=arr[0]

  对于arr[1:]:中的v

  out=v

  退回去

  a=[1,2,3,4,5]

  print(sum_func(a))

  可以看到,码比很大,不够优雅。如果使用reduce,那么代码会非常简洁:

  从functools导入减少

  a=[1,2,3,4,5]

  def add(x,y):返回x y

  打印(reduce(add,a))

  输出是:

  15

  

1 reduce用法

 

  与内置函数map和filter不同,reduce在性能方面并不比for loop有优势,即使在实际测试中也是如此。

  Reduce比for loop慢。

  从functools导入减少

  导入时间

  (arr):的定义测试

  如果len(arr)=0:

  返回0

  out=arr[0]

  因为我在arr[1:]:

  out=i

  退回去

  def测试_减少(arr):

  out=reduce(x,y: x y,arr)

  退回去

  a=[i for i in range(100000)]

  t1=time.perf_counter()

  测试(a)

  t2=time.perf_counter()

  test_reduce(a)

  t3=time.perf_counter()

  Print(for循环需要: ,(t2-t1))

  打印(减少花费: ,(t3-t2))

  输出结果如下:

  森林的循环需要时间。38860 . 68686868686

  归约是很费时间的。38860 . 68868688686

  所以如果性能要求比较严格,建议不要用reduce。如果你想让代码更优雅而不耗费时间,可以使用reduce。

  关于Python中reduce函数的详细解释,本文到此为止。关于Python中reduce函数的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: