python中列表中的索引错误
l在这里是一个列表,我试图在其中添加更多的值,使其充当数组。但它仍然会给我带来错误,比如列表索引超出范围。如何消除它?变量python中列表中的索引错误,python,Python,l在这里是一个列表,我试图在其中添加更多的值,使其充当数组。但它仍然会给我带来错误,比如列表索引超出范围。如何消除它?变量i大于或等于l数组的大小。列表索引超出范围意味着i大于len(l)-1(由于Python和许多其他编程语言使用从0而不是1开始的索引,因此列表中的最后一项具有索引len(l)-1,而不仅仅是len(l) 尝试这样调试: B=l.append((l[i]+A+B)) 当追加失败时,这将告诉您i的值和l的长度,以便您可以搜索问题 这是在循环中吗?它可能有助于向我们展示循环的代码
i
大于或等于l
数组的大小。列表索引超出范围意味着i
大于len(l)-1
(由于Python和许多其他编程语言使用从0而不是1开始的索引,因此列表中的最后一项具有索引len(l)-1
,而不仅仅是len(l)
尝试这样调试:
B=l.append((l[i]+A+B))
当追加失败时,这将告诉您i
的值和l
的长度,以便您可以搜索问题
这是在循环中吗?它可能有助于向我们展示循环的代码。它可能是,即使你通过附加它来增加
l
的长度,你也会更快地增加i
,因此它最终会比len(l)-1
的代码中有很多问题:
1) append
方法不返回任何内容,因此编写B=l.append(…)
2) 双括号令人困惑,您编写的代码完全等同于B.append(l[i]+A+B)
3) 最后,显然,索引i
必须是列表l
的有效索引,否则您将得到索引器
异常
try:
B = l.append((l[i] + A + B))
except IndexError:
print "Appending from index", i, "to list l of length:", len(l)
raise