Cup*_*tor 1 python for-loop range
我所知道的Python循环的结构for如下:
for i in range(10)
Run Code Online (Sandbox Code Playgroud)
然后范围实际上是[0,1,2,3,4,5,6,7,9]. 现在这里有一个问题,那就是我想通过放置一行来减少循环的计数器i-=1,但这并没有显示我期望的结果。
以下示例的结构与 Java 和 C 中的结构相同while(True),但在这里它可以工作,并且循环中的计数器忽略旨在减少它的行。
for i in range(10):
i-=1
print i
Run Code Online (Sandbox Code Playgroud)
它生成输出:
-1
0
1
2
3
4
5
6
7
8
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能得到我想要的循环for!我知道这可以很容易地完成一段时间,如下所示:
i=0
while(i<10):
i-=1
print i
i+=1
Run Code Online (Sandbox Code Playgroud)
以下是 Java 代码作为示例,我希望看到无限循环打印-1:
这是Java代码:
import static java.lang.System.out;
public class HelloWorld{
public static void main(String []args){
for(int i=0;i<10;i++)
{
i--;
out.println(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
该range函数有 3 个参数:开始、停止和步骤:
for i in range(-1, 9):
yield i
Run Code Online (Sandbox Code Playgroud)
往反方向走
for i in range(10, 0, -1):
yield i
Run Code Online (Sandbox Code Playgroud)
查看文档。
编辑:
当然,没有什么可以阻止您range直接使用。因此map(print, range(10, 0, -1))会将它们全部打印到屏幕上,同时range(10, 0, -1)让您可以直接访问整数。