zoukankan      html  css  js  c++  java
  • Python reduce() function

    reduce() in Python

    • 第一步,选取序列的前两个元素,得到结果。
    • 下一步是将相同的函数应用于先前得到的结果和第二个元素后面的数字,然后再次存储结果。
    • 此过程将继续进行,直到容器中不再剩下任何元素。
    • 最终返回的结果被返回并打印在控制台上。

    Example 1: 求list元素的和

    import functools
    lis = [1, 3, 5, 6, 2,]
    print(functools.reduce(lambda a, b: a+b, lis))
    print(functools.reduce(lambda a, b: a if a > b else b, lis))
    

    Example 2: 求list中最大值

    import functools
    lis = [1, 3, 5, 6, 2,]
    print(functools.reduce(lambda a, b: a if a > b else b, lis))
    

    Example 3: 结合operator函数

    import functools
    import operator
    
    lis = [1, 3, 5, 6, 2, ]
    
    # 求 list 和
    print(functools.reduce(operator.add, lis))
     
    # 求 list 乘
    print(functools.reduce(operator.mul, lis))
     
    # 字符串拼接
    print(functools.reduce(operator.add, ["geeks", "for", "geeks"]))
    

    reduce()和 accumulate 的区别

    reduce()存储中间结果,只返回最终的求和值。然而,accumulate()返回一个包含中间结果的迭代器。迭代器返回的最后一个数字是列表的总和。

    import itertools
    print(list(itertools.accumulate(lis, lambda x, y: x+y)))
    # 输出结果
    [1, 4, 9, 15, 17] 
    

    参考:

    https://www.geeksforgeeks.org/reduce-in-python/

    不要小瞧女程序员
  • 相关阅读:
    mysql案例 ~ 监控以及如何避免从库延迟问题
    mysql基础~开发规范
    k8s系列~mgr的应用
    k8s系列~docker mysql
    常用知识点(一)
    Windows下查看进程状态/信息
    Lua入门(一)
    Lua简介
    .NET&C#的异常处理
    数据库中的锁
  • 原文地址:https://www.cnblogs.com/shix0909/p/15037489.html
Copyright © 2011-2022 走看看