def get_list(func):
def inner(list):
ret = []
for v in list:
if func(v):
ret.append(v)
return ret
return inner
@get_list
def get_even(value):
return is_even(value)
@get_list
def get_odd(value):
return is_odd(value)
@get_list
def get_multiples3(value):
return is_multiples3(value)
@get_list
def get_multiples3_even(value):
return (is_multiples3(value) and is_even(value))
@get_list
def get_multiples3_odd(value):
return (is_multiples3(value) and is_odd(value))
def is_even(value):
return (0 == (value % 2))
def is_odd(value):
return (0 != (value % 2))
def is_multiples3(value):
return (0 == (value % 3))
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
print(list)
print(get_even(list))
print(get_odd(list))
print(get_multiples3(list))
print(get_multiples3_even(list))
print(get_multiples3_odd(list))