Code Explanation:
1) from functools import reduce
Imports the reduce function from the functools module.
reduce(func, iterable[, initializer]) applies func cumulatively to the items of iterable, producing a single value.
2) nums = [2, 3, 4, 5]
Creates a list named nums containing the integers 2, 3, 4, 5.
3) product = reduce(lambda x, y: x * y, nums)
Uses reduce with a multiplication lambda to multiply all elements together.
No initializer provided → the first call uses the first two list items as x and y.
Stepwise: (2*3)=6, (6*4)=24, (24*5)=120.
Result assigned to product → 120.
4) nums.remove(3)
Mutates the nums list by removing the first occurrence of the value 3.
After this operation nums becomes [2, 4, 5].
Note: remove() modifies the list in place and raises ValueError if the value is not found.
5) s = reduce(lambda x, y: x + y, nums, 10)
Uses reduce with an addition lambda and an initializer 10.
With an initializer, the reduction starts from 10 and then adds each element of nums.
Stepwise: 10 + 2 = 12, 12 + 4 = 16, 16 + 5 = 21.
Result assigned to s → 21.
6) print(product, s)
Prints the two computed values: product and s.
Output:
120 21


0 Comments:
Post a Comment