Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Folds and short-circuiting binops solution in Creative category for Min and Max by ale1ster
def foldl(f, l, x):
return x if l == [] else foldl(f, l[1:], f(x, l[0]))
def min(*args, key=lambda x: x):
argl = list(args[0]) if len(args) == 1 else list(args)
zmd = list(zip(argl, map(key, argl)))
return foldl(lambda x,y: x[1] < y[1] and x or y, zmd, zmd[0])[0]
def max(*args, key=lambda x: x):
argl = list(args[0]) if len(args) == 1 else list(args)
zmd = list(zip(argl, map(key, argl)))
return foldl(lambda x,y: x[1] < y[1] and y or x, zmd, zmd[0])[0]
May 16, 2014