Перемножениие эелементов списка между собой

Необходимо вернуть список такого же размера, где каждый элемент равен произведению всех элементов списка справа и слева от этого элемента. Написал функцию, но она выдает неправильный результат, пробовал разные варианты, но не получается выйти на необходимый список.

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,]

Ответы (0 шт):