1def product_except_self(nums):2    res = [1] * len(nums)3    prefix = 14    for i in range(len(nums)):5        res[i] = prefix6        prefix *= nums[i]7    suffix = 18    for i in range(len(nums) - 1, -1, -1):9        res[i] *= suffix10        suffix *= nums[i]11    return res