在python中循环一系列数字的最简洁方法是什么?

the*_*rld 0 python

所以我们说吧

start = 10
end = 30
Run Code Online (Sandbox Code Playgroud)

现在我需要一个循环,从去startend

我在考虑这样的事情:

for i in [start..end]
  print i
Run Code Online (Sandbox Code Playgroud)

但那不太奏效.有干净的方法吗?

Lev*_*von 7

for i in range(start, end+1):
   print i
Run Code Online (Sandbox Code Playgroud)

会给你10的输出包容 30.

注意:我添加+1到您的end值的原因是因为range()函数指定半闭区间.这意味着包含第一个值,但结束值包括在内.

也就是说,

  range(5, 10)
Run Code Online (Sandbox Code Playgroud)

会给你一份清单

  5, 6, 7, 8, 9
Run Code Online (Sandbox Code Playgroud)

包括10.

您还可以指定range()的步长和许多其他内容,请参阅文档.

最后,如果您使用的是Python 2.x,您也可以使用xrange()代替range(),但在Python 3.x中,您只会使用range()这个,这就是我在这里使用它的原因.

如果你对range()和之间的差异感到好奇xrange()(虽然它与你的问题没有直接关系),下面两个SO问题是一个很好的起点:Python 2.X中range和xrange函数之间有什么区别?如果你总是青睐的xrange()超过范围()?