我试图用输入填充列表,但它给了我超出范围的索引 虽然索引从零开始,但据我所知,我们不必在python中指定列表的长度。
inputs = input("Enter the number of inputs: ")
lists = []
k = 0
while k<inputs:
lists[k]= input()
k+=1
答案 0 :(得分:1)
因为您正在使用lists = []
创建空列表,然后访问此空列表的元素。这是IndexError
。
使用lists.append()
附加可以帮助您避免像这样的索引错误。您通常希望在访问元素时使用索引,而填充列表时 。
答案 1 :(得分:0)
使用list.append()
将元素添加到列表末尾:
while k<inputs:
lists.append(input())
k+=1
或列表理解:
lists = [input() for _ in range(inputs)]
答案 2 :(得分:0)
您可以在使用索引之前初始化列表:
lists = [0] * int(inputs)
然后你可以使用你的代码
答案 3 :(得分:0)
另一种可能性:将lists
初始化为空列表,然后使用+=
操作数附加输入。
lists = []
k = 0
while k < inputs:
lists += [input()]
k+=1