美文网首页
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