Python范围 - 开始时没有迭代==结束?

时间:2017-09-26 14:24:01

标签: python python-3.x

正如标题所说。

使用:

进行测试
for x in range (0,0):
        print(str(x))

我期待看到" 0",但没有打印。

我正在使用Python 3并希望:

 for x in range(x,y)

当x == y时,至少会给我一次迭代,但似乎并非如此......我是否有更好的方法可以做到这一点而不是手动处理x == y场景?

2 个答案:

答案 0 :(得分:6)

range是半包含的

range(x, y)包含x,不包括y。请改用range(x, y + 1),因此对于您的示例,您希望在第一个代码块中使用range(0, 1)

答案 1 :(得分:1)

documentation of range开始,范围将返回最小start + i * step小于停止。由于0 +步不能小于0,它将返回一个空列表。在您的情况下,您可能希望使用range(x, y + 1)