python - 当你在 for 循环中使用负值范围时,为什么 Python 不会抛出 ValueError ?

标签 python for-loop

我想知道为什么这不会抛出 ValueError:

>>>    for i in range(-1):
...        print "something"
...
>>>

这样使用的否定论点有什么用处吗?

最佳答案

范围也可以接受负步长

In [2]: list(range(0, -10, -1))
Out[2]: [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

更不用说负数的正步进范围了。

In [3]: list(range(-9, 1))
Out[3]: [-9, -8, -7, -6, -5, -4, -3, -2, -1, 0]

至于为什么它不会在一个否定参数版本上抛出错误,我认为这只是 Zen 的一种情况

Special cases aren't special enough to break the rules.

关于python - 当你在 for 循环中使用负值范围时,为什么 Python 不会抛出 ValueError ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28457469/

相关文章:

python - 使用 SQLAlchemy 如何获取具有不同产品和仓库值的最后一个库存条目

javascript - While 和 For 循环

python - 在 requests.get 中循环获取分页参数

javascript for...in + if-test(在表单内的开关内部)

flask 中的 python 装饰器

Python追加循环工作之谜

javascript - 异步/等待内部 for...of 与 map

python - 如何在 matplotlib 中按列而不是行迭代子图

python - 带有 CheckDelegate 项目的 ListView 在滚动时不保留选中的复选框

python - 从python中的列表创建矩阵