【发布时间】:2012-05-13 12:08:42
【问题描述】:
我最近开始学习 Python,而 for 循环的概念对我来说还是有点困惑。我知道它通常遵循for x in y 的格式,其中y 只是一些列表。
for-each 循环 for (int n: someArray)
变成for n in someArray,
而for循环for (i = 0; i < 9; i-=2)可以用for i in range(0, 9, -2)表示
假设我想要i*=2,甚至i*=i,而不是一个恒定的增量。这可能吗,还是我必须改用while循环?
【问题讨论】:
-
如果第一个数字小于第二个,您的
for i in range(0,9,-2)将不会向后迭代。 -
更准确地说,range() 不能为正值提供负步长的数组。这是一个无限循环。
-
@user1320925 你想要这些作为 i 的值吗:1 2, 4, 8, 16, 32....
-
如果
i是int并且这是C,则后者for循环没有正确的结束条件。无论如何,它不是您所说的范围。
标签: python loops for-loop increment