Skip to content

Instantly share code, notes, and snippets.

@KimDoKy
Created December 3, 2017 10:50
Show Gist options
  • Save KimDoKy/bf9d4902a9a3a5011ce62ad3e705c3eb to your computer and use it in GitHub Desktop.
Save KimDoKy/bf9d4902a9a3a5011ce62ad3e705c3eb to your computer and use it in GitHub Desktop.
def myfilter(filter_fn, alter_value):
def wrap(fn):
def inner(*args):
true_list = [x if filter_fn(x) else alter_value for x in args]
return fn(*true_list)
return inner
return wrap
@myfilter(lambda i: i%2==0, 0)
def mysum(a,b,c,d,e):
return a+b+c+d+e
@myfilter(lambda i: i%2==0, 1)
def mymulti(a,b,c,d,e):
return a*b*c*d*e
print(mysum(1,2,3,4,5))
print(mymulti(1,2,3,4,5))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment