为什么它给出的指数误差超出范围,尽管我几乎可以肯定我在范围内



我试图用输入填充列表,但它给了我超出范围的索引尽管索引从零开始,但据我所知,我们不必在python中指定列表的长度。

inputs = input("Enter the number of inputs: ")
lists = []
k = 0
while k<inputs:
    lists[k]= input()
    k+=1

因为您正在使用lists = []创建一个列表,然后访问该空列表中的一个元素。这就是IndexError的原因。

添加lists.append()可以帮助您避免类似这样的索引错误。当访问元素时,您通常希望使用索引,而当填充列表时,不使用索引。

您可以在使用列表的索引之前初始化列表:

lists = [0] * int(inputs)

然后您可以使用您的代码

使用list.append()将元素添加到列表末尾:

while k<inputs:
    lists.append(input())
    k+=1

或者有列表理解:

lists = [input() for _ in range(inputs)]

另一种可能性:将lists初始化为空列表,然后用+=操作数追加输入。

lists = []
k = 0
while k < inputs:
    lists += [input()]
    k+=1

相关内容

最新更新