def find_in_dict(a_dict, find_func, reverse=False):
    """Find a matched item in dict

    - a_dict: dict like object
    - find_func: the filter function to find a matched item
    - reverse: find in reversed? True/False

    Return (key, value) of the dict

    Example:
    data = {'a': 1, 'b': 2: 'c': 3}
    find_in_dict(data, lambda k, v: v > 1)                 ->   'b', 2
    find_in_dict(data, lambda k, v: v > 1, reverse=True)   ->   'c', 3
    """
    items = reversed(list(a_dict.items())) if reverse else a_dict.items()
    iterable = ((key, value) for key, value in items if find_func(key, value))
    return next(iterable, None)