对于x中的i / number / key ...这些变量在哪里定义?

时间:2014-01-03 19:14:20

标签: python

我正在学习Python的for循环系统,它进展顺利,但是一个继续困扰我。

我经常看到有人for循环,其中包含语法for x in y,其中x 是我从未定义过的变量。在下面的示例中,x为numberkeyi

示例1:

numbers = 5345
for number in numbers:

我定义了numbers,但我从未定义numbernumber来自哪里?

示例2:

keywords = ['banana', 'mango', 'apple']
for key in keywords:

我定义了keywords,但我从未定义keykey来自哪里?

示例3:

for i in [6423, 2334, 3453, 5234]:

我从未定义ii来自哪里?

在阅读了大量for循环教程后,我找不到numberkeyi来自哪里的任何解释。

任何帮助都将不胜感激。

3 个答案:

答案 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分别为123分别位于第二步和第三步。

有多少步骤?顺序容器中的元素数量(generators的情况下可能有无限)。在上述情况下,有 3

程序员,他决定在每个步骤中为元素中的变量命名的内容 of iteration 。它可以是xyfoobarsdfasdfjdiofjasdifjiosdfjiojio_,Python允许对象/ 元素的任何内容的裁判被命名。

这个答案不应该涵盖所有相关的事情。但其目的是为了建立一种其他相关人员可以建立的理解。