我试图用输入填充列表,但它给了我超出范围的索引尽管索引从零开始,但据我所知,我们不必在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