什么是Python循环中的计数器变量?

时间:2017-09-27 16:03:49

标签: python

for循环构造类似于此的语言中:

for (int i = 0; i < max; i++) {}

此示例中的变量i通常以be referred to作为&#34;计数器变量&#34;。

Python中循环变量的等效技术名称是什么,其中for循环更像for each

for i in ('a', 'b', 'c'):

这里&#34;反变量&#34;似乎远不那么明显了。

4 个答案:

答案 0 :(得分:4)

首先,Python for循环不像C for循环。没有计数器,因为Python构造是Python tutorial。另请参阅iterable

  

Python中的for语句与您在C或Pascal中使用的语句略有不同。而不是总是迭代数字的算术级数(如在Pascal中),或者让用户能够定义迭代步骤和暂停条件(如C),Python的for语句迭代任何序列的项目(列表或字符串),按它们出现在序列中的顺序。

构造实际上需要for statement documentation,并且一直循环直到到达迭代器的末尾。它允许您指定一个或多个名称以从迭代器分配下一个对象; Python文档将此称为目标列表

请参阅{{3}}:

  

依次使用标准分配规则

将每个项目分配到目标列表

因为目标列表是从iterable中分配的元素,所以您也可以在iterable的上下文中引用变量。对于列表,您可以讨论列表元素,对于循环文件,目标被分配下一个等。

答案 1 :(得分:1)

我会把它称为&#34;占位符变量/ s&#34;在&#34;变量,它是for循环迭代的项目的占位符&#34;。

正如@ Ajax1234指出的那样,它可以是一个列表元素的占位符,或者是一个字典元素,一个文件,几乎可以在for循环中迭代的项目选择中的对象。

还可以注意到,在使用“占位符”这个词时,我是文字的 - 它可以是你想要的任何东西,例如:

a = 'a'
b = 'b'
c = 'c'
d = 'd'

print(f'a = {a}')
list2 = [a, b, c, d]
for a in list2:
    print(a)
print(f'a = {a}')

输出:

a = a
a
b
c
d
a = d

请注意,该占位符变量实际上包含迭代的最后一个对象,在这种情况下,a会重新分配字符串&#39; a&#39;&#39; b&#39;&#39; C&#39;&#39; d&#39;

答案 2 :(得分:0)

在这个例子中

for (int i = 0; i < max; i++) {}

i用于帮助确定循环何时结束/停止迭代。

Python在幕后为您自动执行此操作。

此示例中的变量i

for i in ('a', 'b', 'c'):

是一个占位符,用于保存正在迭代的值。

i变量通常由名称调用,如:

  • 目标变量
  • 迭代变量

在幕后,当for循环用完要迭代的项目时,会引发StopIteration条件并且for循环将退出。

documentation引用了这个:

for_stmt ::=  “for” target_list “in” expression_list “:” suite
              [“else” “:” suite]
  

表达式列表评估一次;它应该产生一个可迭代的   宾语。为expression_list的结果创建一个迭代器。   然后对于由提供的每个项目执行一次该套件   迭代器,按迭代器返回的顺序。每个项目依次是   使用标准规则分配到目标列表   赋值(参见赋值语句),然后是套件   执行。当物品耗尽时(这是当时的物品)   sequence为空或迭代器引发StopIteration异常),   else子句中的套件(如果存在)被执行,并且循环   终止。

注意target_list并不意味着该项目是实际列表。

答案 3 :(得分:0)

我总是使用术语&#34;受控变量&#34;,因为循环控制其值。大多数语言的程序员似乎都明白这一点,尽管我很难说它是行业标准。