我正在学习Python的for
循环系统,它进展顺利,但是一个继续困扰我。
我经常看到有人for
循环,其中包含语法for x in y
,其中x
是我从未定义过的变量。在下面的示例中,x为number
,key
和i
。
示例1:
numbers = 5345
for number in numbers:
我定义了numbers
,但我从未定义number
,number
来自哪里?
示例2:
keywords = ['banana', 'mango', 'apple']
for key in keywords:
我定义了keywords
,但我从未定义key
,key
来自哪里?
示例3:
for i in [6423, 2334, 3453, 5234]:
我从未定义i
,i
来自哪里?
在阅读了大量for
循环教程后,我找不到number
,key
和i
来自哪里的任何解释。
任何帮助都将不胜感激。
答案 0 :(得分:3)
你选择他们!
当您说for x in numbers
时,Python会开始浏览numbers
,将找到的每个项目分配给名称x
,并允许您对x
执行某些操作。
您可以在字面上输入任何变量名称。可以将for
后面的名称视为一项赋值,而不是作为参考的in
后面的名称。
请尝试以下代码:
names = ["Dave", "John", "Sam"]
for x in names:
print(x)
现在将x
es更改为您想要的任何其他变量名称,然后再次运行它。它仍然有效!
答案 1 :(得分:1)
您通过在for..in循环中使用它来定义变量。在循环的每次迭代期间,为其分配序列的下一个元素。你可以随意打电话。
答案 2 :(得分:1)
for
是迭代器,它执行迭代
迭代表示在步骤中遍历 iterable 的元素。
Iterables 是顺序容器,其中包含元素。
在每个步骤上,我们在顺序容器中获得元素。
在每个步骤上将元素分配给for
之后和in
之前的内容,在{{x
中说明for x in [1,2,3]:
1}},并通过步骤,即循环体(缩进部分),该元素可以用x
引用。
在for x in [1, 2, 3]
的第一步,x
分别为1
,2
和3
分别位于第二步和第三步。
有多少步骤?顺序容器中的元素数量(generators的情况下可能有无限)。在上述情况下,有 3 。
你,程序员,他决定在每个步骤中为元素中的变量命名的内容 of iteration 。它可以是x
,y
,foo
,bar
,sdfasdfjdiofjasdifjiosdfjiojio
,_
,Python允许对象/ 元素的任何内容的裁判被命名。
这个答案不应该涵盖所有相关的事情。但其目的是为了建立一种其他相关人员可以建立的理解。