我无法理解 Python for 循环。例如,这是我在学习时编写的一些代码:
board = []
for i in range (0,5):
board.append(["O"] * 5)
不要担心代码做了什么,我只是不明白“i”变量是什么意思。
我无法理解 Python for 循环。例如,这是我在学习时编写的一些代码:
board = []
for i in range (0,5):
board.append(["O"] * 5)
不要担心代码做了什么,我只是不明白“i”变量是什么意思。
它是一个迭代器,你可以把它看成一个存储每次迭代结果的桶;增加混乱的事情是它在您的脚本中根本没有使用,这是另一个“更多地”使用迭代器的脚本。
fruits = ['banana', 'apple', 'strawberry', 'coconut', 'cherry']
for yup in fruits:
print(yup)
如您所见,您可以根据需要命名它,这是使该单词成为迭代器的语法。
把它想象成替代品。
range(0,5)
是[0,1,2,3,4]
。for 循环遍历列表中的每个元素,命名元素i
。
for i in range(0,5):
# Starts with 0
print i # prints 0
# now goes back, goes through next element in list: 1.
打印 0,1,2,3,4。
在您的示例中, i 是占位符。它仅用于循环某事物 x 次(在这种情况下,五次,因为 range(0,5) 的长度为 5)
另外,在 Codecademy 学习 python 玩得开心(我认识这个任务:p)
这是一个未使用的变量。Python 语法需要在那个位置有一个变量,但你不需要对它做任何事情,因为你只是想重复一个动作 5 次。
有些人更喜欢这样命名未使用变量的约定_
:
for _ in range(5)
但是这个名字可以干扰gettext
。
for 循环遍历从每次迭代中[0, 1, 2, 3, 4]
获得的给定对象列表,您需要一个变量来获取迭代值。range(0,5)
这就是这里的用途i
。您可以将其替换为任何变量以获取值。
for n in range(0, 5):
print n #prints 0, then 1, then 2, then 3,then 4 in each iteration
另一个例子:
for n in ('a', 'b', 'c'):
print n #prints a, then b, then c in each iteration
i
但是在您给出的代码中,未使用该变量。它正在被使用。只是为了遍历对象列表。
在 c/java 中,for 循环将是:
for(int i=0;i<=10;i++)
{
//for-loop-body
}
在这里,对于每次迭代,我都会增加 +1 值,直到我达到 10,之后它就会退出循环。同样,在 python 中,for 循环看起来像:
for i in range(0,10):
//for-loop-body
这里 i 执行相同的操作, i 只是增加值的变量。
简而言之,i
指的是列表中的当前元素。
您的列表定义为:0、1、2、3、4 和 5。因此i
将迭代此列表并将自己分配给下一项,i
为 0,下一次迭代i
将为 1,下一次迭代i
将为 2 ,依此类推。
直接来自 python.org:
Python 中的 for 语句与您在 C 或 Pascal 中可能使用的语句有些不同。Python 的 for 语句迭代任何序列的项目(列表或一个字符串),按照它们在序列中出现的顺序。例如(没有双关语)
words = ['cat', 'window', 'defenestrate']
for w in words:
print w, len(w)
结果是: