Начинается индексирование с 1 вместо 0 - PullRequest
0 голосов
/ 13 ноября 2018

Я не могу инициализировать массив с начальным индексом 1. Я использовал обе вставки добавления, и я хочу, чтобы индекс начинался с 1, а не с 0:

n=int(input('enter '))
array=[]
for i in range(1,n+1):
    print(i)
    element=int(input('element '))
    array.insert(i,element)
    #array.append(element)
    print(i,array[i])

Это дает IndexError исключение на print(i,array[i]): list index out of range.

1 Ответ

0 голосов
/ 13 ноября 2018

У вас нет такого выбора.Индексирование Python начинается с 0 и не настраивается.

Вы можете просто вычесть 1 из своих индексов при индексации:

array.insert(i - 1, element)  # but better just use array.append(element)
print(i, array[i - 1])

или (более расточительно) начать свой список с фиктивного значения с индекса 0:

array = [None]

, в этот момент следующий используемый индекс будет 1.

...