我是编程的新手,正在努力了解事情是如何工作的。我无法让我的程序正常地通过numpy.array进行迭代,所以我决定尝试通过列表进行一级简单迭代。但它仍然不起作用!代码如下:
my_list = [1, 2, 3, 4, 5, 6, 7]
for i in my_list:
print(my_list[i])
输出为:
因此,它不采用my_list[0]
指数的某些原因,并且超出了范围。你能帮我理解一下为什么吗?
不清楚你到底想做什么
for i in my_list:
每个i
是列表的每个成员,而不是列表成员的索引。因此,在您的情况下,如果您想打印列表中的每个成员,请使用
for i in my_list:
print(i)
想想看:例如,如果列表中的第三个成员是9
,该怎么办?您的代码将尝试打印不存在的my_list[9]
。
正如所指出的,这不是迭代列表元素的方式。
但是如果你坚持,你的循环应该在range(my_list)
上,此时你正在根据列表的值进行索引,由于长度是7,最后一个有效的索引是6,而不是7。
您会得到一个IndexError,因为您正在循环这些值,这意味着i的第一个值是1,最后一个值是7。因为7是此列表的无效索引,所以会得到IndexError。一个合适的代码是:
my_list = [1, 2, 3, 4, 5, 6, 7]
for i in my_list:
print(i)