class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
output = [1] * len(nums) #初始化输出数组
for i, num in enumerate(nums[:-1]): #存放当前元素左边所有元素乘积
output[i+1] = output[i] * num
right = 1 #初始化当前元素右边所有元素乘积
for i in range(len(nums)-1, -1, -1): #从右往左遍历
output[i] *= right #当前=当前*右
right *= nums[i]
return output