Python 我得到一个错误,说列表索引超出范围
运行此程序时,我不断收到一个错误,显示列表索引超出范围:Python 我得到一个错误,说列表索引超出范围,python,Python,运行此程序时,我不断收到一个错误,显示列表索引超出范围: lista = [1961] listb = [1962] while True: lista.append((lista[len(lista)])+13) listb.append((listb[len(listb)])+17) while True: if i in lista and listb: print(i) 您正在尝试附加列表(1)长度的索引,该长度超出范围。列表只有1长,因此您必须执行lista[le
lista = [1961]
listb = [1962]
while True:
lista.append((lista[len(lista)])+13)
listb.append((listb[len(listb)])+17)
while True:
if i in lista and listb:
print(i)
您正在尝试附加列表(1)长度的索引,该长度超出范围。列表只有1长,因此您必须执行lista[len(lista)-1]才能追加新的数字
此外,如果不更改while语句,代码将永远不会退出。仅供参考。这是因为您的
lista
列表只有一个成员,并且第0个索引已满。
在第二行,您试图获取
lista
的第一个索引,该索引超出了索引(0)
的范围。请修正缩进以准确表示您正在使用的内容。另外,请包括完整的回溯。len(lista)
将给出列表长度的1
,但python使用基于0的索引。因此lista[1]
无效。您需要从len()
中减去1
,才能成为有效的索引。是否愿意共享您正在寻找的所需输出?你的目标是什么?我的目标是列出一个上升13秒的数字和一个上升17秒的数字。两个列表共享的每个数字都将被打印出来。lista[len(lista)-1]做什么?列表长度的索引是什么?列表长度的索引表示列表的长度(在本例中为2)并对其进行索引。索引意味着它占据列表的位置。因此,第一个索引0(lista[0])将返回列表中的第一个内容。因为这个列表只有2个索引,这意味着你能找到的最高索引是1,除非你减去1,否则你将出界。