Если вам нужно использовать insert
, используйте len(square)
вместо -1
в качестве аргумента индекса.
Когда вы вызываете insert()
, он вставляет новый элемент перед элементом в заданноминдекс.Когда индекс отрицательный, он считается с конца.Таким образом, square.insert(-1, newvalue)
означает вставку нового элемента перед последним элементом, а не после него.
В первый раз список пуст, поэтому нет последнего элемента, который поместил бы его раньше, и он просто добавляется в список.Но на всех других итерациях он вставляется перед этим элементом, поэтому он остается в конце.
Если вы используете len(square)
в качестве индекса, это после последнего элемента, поэтому вставка до того, как он помещает его в конец.
square=[]
for i in range(1,10):
square.insert(len(square),i**2)
print(square)
Я не думаю, что есть способ сделать это, используя отрицательный индекс.