Quick actions

cmd+k|ctrl+k

Navigation

Languages

Reducing function 3

Snippet info

Language

Python

Visibility

public

Author

petersnpan2047

Created

2026-05-04T07:36:59.420214Z

Updated

2026-05-04T07:54:19.494962Z

a = [1,5,6,9,10,-1]
def max_value (a,b):
    return a if a > b else b
def max_sequence(x):
    result = x[0]
    for element in x:
        result = max_value(result, element)
    return result
print(max_sequence(a))
def min_value(a,b):
    return b if a > b else a
def min_sequence(x):
    result = x[0]
    for element in x:
        result = min_value(result, element)
    return result
print(min_sequence(a))
def reduce1(fn, x):
    result = x[0]
    for element in x:
        result = fn(result, element)
    return result
def reduce2(fn, x, init):        # change to fn
    result = init                    
    for element in x:
        result = fn(result, element)
    return result
def sum1(a,b):
    return a + b
print(reduce1(max_value, a))
print(reduce1(min_value, a))
print(reduce2(sum1, a, 0))     # there is a bug, add an initial value at the end 
print(reduce2(max_value, a, a[0]))
#===============================================
from functools import reduce
print(reduce(sum1,a,0))         # same as line 32; sum1 is a callback function; a is a list
INFO