Reduce Advanced
from functools import reduce
def do_magic(a, b):
if((a % 2 == 1) & (b % 2 == 1) ):
return a * b
return a + b
do_magic(10, 15)
25
do_magic(11, 15)
165
reduce(do_magic, [10, 20, 30, 40])
100
reduce(do_magic, [10, 20, 30, 40, 31, 41])
5371