1

很抱歉有一个措辞不好的问题,但我基本上是在问我是否有:

for i in range(0,10):

我需要i = 0在前一点设置还是 for 循环设置i = 0

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

4

4 回答 4

8

forpython 中的循环与foreach其他语言中的循环类似。 range (0, 10)定义从 0 到 10 的数字列表,不包括 10。然后 for 循环依次设置i列表中的每个值。所以你不需要i事先定义或初始化。

于 2013-04-03T15:50:55.167 回答
4

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

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

在 C 中,您需要一个for循环来生成数组的索引,而在 python 中,您通常只需直接循环序列:

for element in somelist:
    # do something with element

而不是

for i in range(len(somelist)):
    element = somelist[i]
于 2013-04-03T15:50:29.653 回答
2

您可以enumerate()简单地使用 for count 循环。

>>> for i,c in enumerate('abcde') :
...  print i,c
... 
0 a
1 b
2 c
3 d
4 e
于 2013-04-03T15:53:10.617 回答
1

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

Range() 实际上是返回一个数字序列,这是 for 语句所采用的。它为每个数字执行其主体。

于 2013-04-03T15:57:17.360 回答