В цикле for метод списка .insert() вставляет весь список вместо элемента

Не могу понять, почему метод insert() вставляет весь список, а не выбранный элемент?
Прошу не кидайтесь камнями, я только учусь, гуглить пробовал, но ничего не нашел.
Я не ищу решения моего кода, я ищу совета и объяснения, почему insert вместо вставки элемента sumnum[i] вставляет каждый свой элемент подряд и только потом вставляются оставшиеся элементы из другого списка.

import random

def FillList(size):
    mylist=[random.randint(0,9) for i in range(size)]
    sumnum=[]
    print("My list before changed: {}".format(mylist))

    for i in range(size-1):
        sumnum.append(mylist[i]+mylist[i+1])
    print("My sumnumbers: {}".format(sumnum))

    for i in range(size-1):
        mylist.insert(i+1,sumnum[i]) #С этой строчкой у меня возникает не понимание
    print("My list after changed: {}".format(mylist))

size=5
FillList(5)

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

Автор решения: S. Nick

Метод insert() вставляет item в список по указанному индексу.
Все элементы после item сдвигаются вправо.
Метод insert() ничего не возвращает. Он только обновляет текущий список.

Я не уверен что правильно понимаю то, что вы хотите получить, но мне показалось что вам надо сделать так:

import random


def fillList(size):
    mylist = [random.randint(0, 9) for i in range(size)]
    sumnum = []
    print(f"Мой список до изменения: {mylist}\n")
    
    for i in range(size-1):
        sumnum.append(mylist[i] + mylist[i+1])
    print(f"My sumnumbers          : {sumnum}")
    
    j = 0                                                         # !!! +++
    for i in range(size-1):
        mylist.insert(i+1+j, sumnum[i])                           # !!! +++
        j += 1                                                    # !!! +++
    print(f"\nMy list after changed  : {mylist}")


size = 5
fillList(size)

введите сюда описание изображения

→ Ссылка