So basically if i have an iteration like this in python Ive editted the question to include my full code
class Solution:
    def myPow(self, x: float, n: int) -> float:
        temp = [];
        span = range(1,abs(n))
        if n ==0:
            return 1
        if abs(n)==1:
            temp.append(x)
        else:
            for y in span:
                if y == 1:
                    temp = []
                    temp.append(x*x)
                else:
                    temp.append(temp[-1] * x)
        if(n < 0):
            return 1/temp[-1]
        else:
            return temp[-1]
The problem link is : Pow(x,n)-leetcode How can I modify this to conserve memory and time. Is there another data structure i can use. Im just learning python....
------------EDIT------------ ive modified the code to use a variable instead of a list for the temp data
class Solution:
    def myPow(self, x: float, n: int) -> float:
        span = range(1,abs(n))
        if n ==0:
            return 1
        if abs(n)==1:
            temp = x
        else:
            for y in span:
                if y == 1:
                    temp = x*x
                else:
                    temp = temp * x
        if(n < 0):
            return 1/temp
        else:
            return temp
I still have a problem with my time complexity. Its working for many testcases, however when it trys to run with x = 0.00001 and n = 2147483647. The time limit issue arises
 
     
     
     
    