• Source
    1. def get_list(func):
    2. def inner(list):
    3. ret = []
    4. for v in list:
    5. if func(v):
    6. ret.append(v)
    7. return ret
    8. return inner
    9.  
    10. list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
    11. print(get_list(lambda v: (0 == (v % 2)))(list))
    12. print(get_list(lambda v: (0 != (v % 2)))(list))
    13. print(get_list(lambda v: (0 == (v % 3)))(list))
    14. print(get_list(lambda v: ((0 == (v % 2) and (0 == (v % 3)))))(list))
    15. print(get_list(lambda v: ((0 != (v % 2) and (0 == (v % 3)))))(list))