In [1]:
def n(n):
    l = set()
    for a in range(2,n + 1):
        for b in range(2,n + 1):
            l.add(a**b)
    return(len(l))

In [11]:
%timeit n(5)


100000 loops, best of 3: 10.4 µs per loop

In [12]:
%timeit n(100)


1 loops, best of 3: 10.9 s per loop

In [3]:
n(100)


Out[3]:
9183