<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def first_match(predicate, lst):
 """ returns the first value of predicate applied to list, which does not return None 4 :param predicate: a function that returns None or a value. :param list: A list of items that can serve as input to ``predicate``. :rtype: whatever ``predicate`` returns instead of None. (or None). """

    for item in lst:
        val = predicate(item)
        if val is not None:
            return val

    return None