a = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
l= []
for i in a:
if a[i] % 2 == 0 :
l.append(a[i])
上面的代码不断抛出错误-
"IndexError: list index out of range"
我不知道该怎么办?
最佳答案
当执行for i in a
时,您将遍历a
的元素,而不是索引!
您正在尝试访问:a[1]
,然后是a[4]
,然后是a[9]
,然后是a[16]
->
,这是导致IndexError
的原因。
如果只想遍历索引,请尝试:
>>> for i in range(len(a)):
if a[i] % 2 == 0 :
l.append(a[i])
>>> print (l)
[4, 16, 36, 64, 100]
如果您需要值和索引,请使用
for index, value in enumerate(a):
。
关于python - IndexError : list index out of range - throwing error in Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35983588/