Почему python допускает вставку по несуществующему индексу, но выдает ошибку при доступе к нему? - PullRequest
0 голосов
/ 18 марта 2020
# Can anyone explain what is happening in the background?
# 
thislist = ["0th index", "1st index", "2nd index"]
print(thislist)
thislist.pop()
print(thislist)
thislist.insert(2,"2nd index")
print(thislist)
thislist.insert(4,"jumped an index") # inserting at a non-existing index
print(thislist)                      # we can see it inserts at last index available
print(thislist[3])                   # prints - jumped an index
print(thislist[4])                   # error

1 Ответ

0 голосов
/ 18 марта 2020

Это ограничение будет вставлять значение в список

['1', '2']. Insert (1, '12')

Если вы вставите значение по индексу, который больше len(List), чем вставить, добавьте последний элемент с индексом len(List). Этот метод попытается использовать минимальное использование памяти. В вашем примере он вставил «скачал индекс» с index = 3, и у вас в списке не было index = 4, конечно же, вы получили IndexError.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...