Ну, вы правы в одном случае.Хотя ничто в вашем коде не использует словарь.Но, возможно, эти примеры помогут прояснить ситуацию.
my_zeroes = [0]*3
assert my_zeroes == [0, 0, 0]
assert [0, 1, 2, 3][-1] == 3
В первой строке синтаксиса, который вы здесь используете, будет создан список, содержащий три ноля.Ваше утверждение First : index = [0]*3, It creates an index
на самом деле не имеет смысла.Индексы присущи определенным структурам данных, таким как списки и кортежи, например, вы не «создаете» их как таковые.Но, надеюсь, мой пример проясняет, что здесь происходит.
Во второй строке мы просто проверяем, что приведенный выше факт верен.Если бы это было не так, было бы выброшено AssertionError
, поэтому assert
- полезный инструмент отладки.
В третьей строке мы утверждаем ответ на ваш второй вопрос: [some_list][-1]
действительно выполняет отрицательный индекс в последнем элементе списка.Если рассматриваемый список не является пустым, в этом случае [][-1]
даст вам IndexError
, как и любой другой индекс по этому вопросу при попытке индексирования в пустой список.
Вы можете ознакомиться с Python, учебник , чтобы узнать больше о синтаксисе.Удачи!