reduce() function in python
The reduce() function is used to reduce or summarise lists of data. It does this by taking a single argument which is an operation and then applying this repeatedly to all elements in a list.
import functools
#define a list
numbers = [4, 2, 1, 9, 6]
#get the sum of the list
total = functools.reduce(lambda x, y : x + y, numbers)
#print the result
print(total)
# -> 22
Output
The reduce() method is used from functools module from python. It means if you want to use the reduce method, you will have to import functools first.
The basic syntax to use reduce method.
functools.reduce(function, sequence)
The reduce() method from functools takes two parameters. First argument is the function that ran on every iteration where it takes two parameters as previous value and item value. Second argument is the sequence e.g. list if items.
In the code example, we are calculating the sum of numbers list items.
We are using the lambda function in reduce() method but you can also use the python function in place of the lambda function.
Example of reduce() function
The code example below is another example of getting the sum of list items. But we are using the python function in place of the lambda function here.
import functools
#define a list
numbers = [4, 2, 1, 9, 10]
#create method add
def add(x, y):
return x + y
#get the sum of the list
total = functools.reduce(add, numbers)
#print the result
print(total)
# -> 26
import functools
names = ["He", "ll", "o", "Wo", "rld"]
result = functools.reduce(lambda a, b : a + b, names)
print(result)
#-> 'HelloWorld'
- Function argument unpacking in Python
- [Python] Range - standard function to create a list of numbers
- [Python] Function returns multiple values
- [Python] Function parameters - pack and unpack
- [Python] Eval() function
- [Python] Get nodeid, module, function name using Pytest request built-in fixture
- [Python] Default value of function argument