Are these list-comprehensions written the fastest possible way?
def listexpression(n):  #LE
    return [x * x * (1 + x) for x in range(n)]


is over 3 times faster than your version with x**2+x**3 (from 8.47 ms to 2.31 ms with n = 10000).

Though, NumPy will also benefit from regrouping the expression this way.