Перемножениие эелементов списка между собой
Необходимо вернуть список такого же размера, где каждый элемент равен произведению всех элементов списка справа и слева от этого элемента. Написал функцию, но она выдает неправильный результат, пробовал разные варианты, но не получается выйти на необходимый список.
def product_list(numbers: list) -> list:
new_list = []
for i in range(len(numbers)-1):
numbers[i] = numbers[i - 1] * numbers[i + 1]
new_list.append(numbers[i])
return new_list
print(product_list([12, 20])) # == [20, 12]
print(product_list([9, 9, 9, 9, 9])) # == [6561, 6561, 6561, 6561, 6561]
print(product_list([1, 5, 2])) # == [10, 2, 5]
print(product_list([4, 3, 9])) # == [27, 36, 12]
print(product_list([4, 5, 2, 19, 8, 80])) # == [121600, 97280, 243200, 25600, 60800, 6080,]
print(product_list([2, 8, 22, 76, 9])) # == [120384, 30096, 10944, 3168, 26752,]