The Reduce Function in Python
- 时间:2020-09-13 14:33:25
- 分类:网络文摘
- 阅读:154 次
In Python, the reduce() function is declared in the functools. And it has the following function signature:
1 | reduce(method, data, initial_value); |
reduce(method, data, initial_value);
The reduce() function will iterate over the data array (or list), and accumulate a value (set to initial_value first) using the given function which has the following signature:
1 2 | def reducer_method(accumulated_value, current_value): pass |
def reducer_method(accumulated_value, current_value): pass
For example, to sum up all the values from 1 to 100, you can use this:
1 2 | from functools import reduce reduce(lambda s, cur: s + cur, range(101), 0) |
from functools import reduce reduce(lambda s, cur: s + cur, range(101), 0)
As we can see, the reducer function for sum is passed as a lambda function, which is essentially the same as:
1 2 | def reducer_sum(s, cur): return s + cur |
def reducer_sum(s, cur): return s + cur
The reduce() function in Python allows you to do one-liner without need to write a loop.
How is reduce() implemented in Python?
The reduce() function is as simple as the following:
1 2 3 4 5 | def reduce(reducer, data, value): cur = value for i in data: cur = reducer(cur, i) return cur |
def reduce(reducer, data, value):
cur = value
for i in data:
cur = reducer(cur, i)
return cur–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:5 Tips for Protecting Your Freelance Business from Liabilities 5 Easy Ways On How To Build An Authority Website How to Protect Your WordPress Site From Hackers Top 10 Relationship Blogs With the Best Pieces of Advice in 2020 How to Construct Binary Search Tree from Preorder Traversal in P Dynamic Programming Algorithm to Compute the Block Sum in a Matr Smallest Multiple Algorithm using Bruteforce or GCD/LCM How many different ways can £2 be made using any number of coins Compute Factorial Digit Sum: Find the sum of the digits in the n Compute the Maximum Integer Right Triangles Solutions
- 评论列表
-
- 添加评论