for/lists中出现意外结果(非常基本的问题)



我一直在尝试创建一个非常简单的列表,如下所示:

j = 0
myList = list(range(5))
for i in myList: j = j + 2
print("i=", i, "j=", j)

我期待的是:

i = 0 , j = 2
i = 1 , j = 4
i = 2 , j = 6 etc

相反,我得到的是:

i= 4 j= 10

错误在哪里?

缺少缩进会导致错误。应该是

j = 0
myList = list(range(5))
for i in myList: 
j = j + 2
print("i=", i, "j=", j)

问题在于缩进。

这里,是更正后的代码:

j = 0
myList = list(range(5))
for i in myList: 
j = j + 2
print("i=", i, "j=", j)

如果您不需要myList(更好的:my_list(作为列表,而是简单地使用它来定义for循环的范围,那么您可以这样写:

j = 0
for i in range(5):
j += 2  # shorter and more pythonic
print("i=", i, "j=", j)

相关内容

最新更新