def _list_find(lst, predicate):
    """
    Find the first element in a list that satisfies the given predicate
    Arguments:
        - lst: List to search through
        - predicate: Predicate that determines what to return
    Returns:
        The first element that satisfies the predicate otherwise None
    """
    for v in lst:
        if predicate(v):
            return v
    return None