Python中的2变量For循环

时间:2015-09-21 12:39:53

标签: python python-3.x for-loop

下面这个C / C ++代码片段的Python等价物是什么?

// The rest of the code.
for (i = 1, j = 0; i < 10, j < 19; ++i, j += 2)
{
    // The body of the loop.
}

3 个答案:

答案 0 :(得分:1)

你可以试试这个:

for i,j in zip(range(1,10),range(0,19,2)):

您需要了解两件事:

  • 范围()如何运作
  • zip()如何运作

范围需要3个参数。开始,结束和增加。

第一个是包容性的,第二个是独占的,第三个就像c / c ++中的增量。

range(1,10)

第一个是包容性的,它将从1开始,而第二个是独占的,它将以9结束。默认增量为1。

range(0,19,2)

如您所愿,循环将从0开始,以18结束并以2递增。

答案 1 :(得分:1)

翻译&#34; 2-Variable For Loop&#34;从C / C ++一步步到python(处理陷阱 [1] ):

# loop initialization 
i = 1
j = 0

# loop condition
while (j < 19):

    # The body of the loop.

    # loop increment
    i +=1
    j +=2

[1] C / C ++代码段有一个&#34;陷阱&#34;,请参阅live demo说明:for循环的所有部分(初始化,条件,递增)按顺序计算,但在init和inc中为其副作用完成,条件的目的是得到一个布尔值。条件的两个部分都在每个循环中得到评估,但只有第二个(因为最后一个)被视为实际的循环条件(第一个的结果被抛弃)。

答案 2 :(得分:0)

试试这样:

for i,j in zip(range(1, 10), range(0, 19, 2)):
    # the body