def hop_many(lst, func, iterations):
    """
    Make a function that applied given function to the given list for
    given number of iterations.

    >>> lst = [1,2,3]
    >>> hop_many(lst, square, 2)
    [1, 16, 81]
    >>> hop_many(lst, square, 3)
    [1, 256, 6561]
    >>> hop_many(lst, identity, 100)
    [1, 2, 3]
    >>> hop_many(lst, lambda x: x - 1, 4)
    [-3, -2, -1]
    """
    final = []
    for i in lst:
        for _ in range(iterations):
            i = func(i)
        final.append(i)
    return final