从 1 而不是 0 开始索引

ash*_*102 -1 python index-error

我无法以起始索引 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])
Run Code Online (Sandbox Code Playgroud)

这给出了一个IndexError例外print(i,array[i])list index out of range.

Mar*_*ers 6

你没有那个选择。Python 索引从 0 开始,并且不可配置。

您可以在索引时从索引中减去 1 :

array.insert(i - 1, element)  # but better just use array.append(element)
print(i, array[i - 1])
Run Code Online (Sandbox Code Playgroud)

或者(更浪费),在索引 0 处使用虚拟值开始列表:

array = [None]
Run Code Online (Sandbox Code Playgroud)

此时使用的下一个索引将为 1。