Apply function when true
Python, Function · Nov 9, 2020

Tests a value, x
, against a testing function, conditionally applying a function.
- Check if the value of
predicate()
isTrue
forx
and if so callwhen_true()
, otherwise returnx
.
def when(predicate, when_true): return lambda x: when_true(x) if predicate(x) else x double_even_numbers = when(lambda x: x % 2 == 0, lambda x : x * 2) double_even_numbers(2) # 4 double_even_numbers(1) # 1