理解“for i in ar”内的“ar[i]”中的 IndexError
尝试使用以下方式对列表的元素求和时在 for 循环中,许多人在尝试使用“ar[i]”访问元素时会遇到 IndexError。发生这种情况的原因是对循环中迭代器的用途的误解。
迭代器变量的作用
for 循环的迭代器变量(在本例中为“i”) ") 代表列表的当前元素。例如,给定一个列表“ar = [1, 5, 10]”,“i”将依次包含值 1、5 和 10。当“i”尝试访问位于外部的第 5 个元素时,就会出现错误给定列表的有效索引范围为 0-2。
替代循环构造
要解决此问题,应在不索引列表的情况下编写循环:
for i in ar: theSum = theSum + i
此代码正确地迭代列表元素,将每个元素添加到“theSum”。
使用范围进行索引
或者,如果索引如果需要,可以使用 range():
for i in range(len(ar)): theSum = theSum + ar[i]
此方法可确保“i”仅采用“ar”的有效索引值,从而防止 IndexError。
以上是为什么在'for i in ar”循环内使用'ar[i]”访问列表中的元素时会出现索引错误?的详细内容。更多信息请关注PHP中文网其他相关文章!