On 2015-03-25, Ian Kelly <ian.g.ke...@gmail.com> wrote: > On Wed, Mar 25, 2015 at 11:29 AM, Manuel Graune <manuel.gra...@koeln.de> > wrote: > >> I'm looking for a way to supply a condition to an if-statement inside a >> function body when calling the function. I can sort of get what I want >> with using eval [...] > > Pass the condition as a function. > > def test1(a, b, condition=lambda i, j: True): > for i,j in zip(a,b): > c=i+j > if condition(i, j): > print("Foo") > > test1([0,1,2,3],[1,2,3,4], lambda i, j: i+j > 4) > # etc.
FWIW, back in the day such a function was referred to as a "thunk" (particularly if it was auto-generated by a compiler that used pass-by-name instead of pass-by-value or pass-by-reference): http://en.wikipedia.org/wiki/Thunk Dunno if people still use that term or not. -- Grant Edwards grant.b.edwards Yow! I'm RELIGIOUS!! at I love a man with gmail.com a HAIRPIECE!! Equip me with MISSILES!! -- https://mail.python.org/mailman/listinfo/python-list