美文网首页
Python笔记|Python3中没有reduce函数的原因

Python笔记|Python3中没有reduce函数的原因

作者: Vimiix | 来源:发表于2018-02-07 18:11 被阅读0次

原因

因为 Guido 先生讨厌 reduce。(Because Guido hates it. )

详细过程请翻阅原文:http://www.artima.com/forums/flat.jsp?forum=106&thread=98196

Guido大大原计划把 lambda, reduce 都干掉。

最后只干掉了 reduce

使用

首先在python3版本中,直接使用reduce()的话,系统会报错,提示不存在reduce()函数。

>>> arr = [1, 2, 3, 4, 5]
>>> reduce(lambda x, y : x+y, arr)
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    reduce(lambda x, j : x+y, arr)
NameError: name 'reduce' is not defined

在Python 3里,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在fucntools 模块里

使用前需要先引用

>>> from functools import reduce
>>> arr = [1, 2, 3, 4, 5]
>>> reduce(lambda x, y : x+y, arr)
15

我的个人博客

相关文章

网友评论

      本文标题:Python笔记|Python3中没有reduce函数的原因

      本文链接:https://www.haomeiwen.com/subject/ngyazxtx.html