我知道当我使用 range([start], stop[, step])
或 slice([start], stop[, step])
时, stop
值 不包含 在范围或切片中。
但 为什么 会这样呢?
是不是这样,例如 range(0, x)
或 range(x)
将包含 x
许多元素?
它是否与 C for 循环习语并行,即 for i in range(start, stop):
表面上类似于 for (i = start ; i < stop; i++) {
?
另请参阅 使用索引向后循环 以进行案例研究:设置 stop
和 step
正确设置值在尝试按降序获取值时可能会有点棘手。
原文由 wap26 发布,翻译遵循 CC BY-SA 4.0 许可协议
文档 暗示这有一些有用的属性:
我认为我们可以假设范围函数的行为相同以保持一致性。