如果我在python中使用for循环,我是否需要将用于计数的变量设置为0或者for循环是否设置它?

时间:2013-04-03 15:49:38

标签: python

对不起,那里有一个措辞严厉的问题,但我基本上都在问我是否有:

for i in range(0,10):

我是否需要在之前的位置设置i = 0,或者for循环设置为i = 0

我是主要使用C来自python的新手,在C中总是有一部分for循环设置i = 0(或其他)。

4 个答案:

答案 0 :(得分:8)

python中的for循环与其他语言中的foreach类似。 range (0, 10)定义了从0到10的数字列表,不包括10. for循环然后将i连续设置为列表中的每个值。因此,您无需事先定义或初始化i

答案 1 :(得分:4)

不,您不需要事先将i设置为任何内容。

在python中,您不需要预先声明变量。 for循环只是在循环的每次迭代中将range()中的下一个值分配给i

在C中你需要一个for循环来生成一个数组的索引,在python中你通常只是直接遍历序列

for element in somelist:
    # do something with element

而不是

for i in range(len(somelist)):
    element = somelist[i]

答案 2 :(得分:2)

您可以使用enumerate()简单地计算循环次数。

>>> for i,c in enumerate('abcde') :
...  print i,c
... 
0 a
1 b
2 c
3 d
4 e

答案 3 :(得分:1)

for是一个与你期望的有点不同的工作:它直接在所谓的“迭代器”上“迭代”,而不是在变量上。如果您有一个支持迭代或生成的对象或函数,则可以使用for-statement。

Range()实际上返回一个数字序列,for-statement采用。它为每个数字执行它的主体。