为什么这个循环没有破裂?

Tes*_*son 1 python

Python noob; 请解释为什么这个循环不会退出.

for i in range(0,10):
  print "Hello, World!"
  if i == 5: i = 15
  print i
next
Run Code Online (Sandbox Code Playgroud)

问候

Joe*_*son 5

因为你所做的range(0,10)是创建了一个包含10个元素的数组,如下所示:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Run Code Online (Sandbox Code Playgroud)

而你正在经历每一个.

在其他编程语言中,您正在执行所谓的foreach循环.

否则,以另一种方式做.


小智 5

因为Python的for循环不计算,所以它会迭代.range生成一个iterable(Python 2.x中的列表),迭代迭代.每次执行循环体之前,都会从中拉出下一个项,并且您在循环体中对迭代变量所做的更改不会影响下一个值应该是什么的内存.那是在其他地方保存的,你通常不会影响它.简单地使用break.