如何以 0.1 的步长在 0 和 1 之间进行迭代?
这表示 step 参数不能为零:
for i in range(0, 1, 0.1):
print(i)
原文由 Evan Fosmark 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何以 0.1 的步长在 0 和 1 之间进行迭代?
这表示 step 参数不能为零:
for i in range(0, 1, 0.1):
print(i)
原文由 Evan Fosmark 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答884 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
与其直接使用小数步长,不如用你想要的点数来表达这一点要安全得多。否则,浮点舍入错误很可能会给你一个错误的结果。
使用 NumPy 库中的
linspace
函数(它不是标准库的一部分,但相对容易获得)。linspace
需要返回多个点,并且还允许您指定是否包含正确的端点:如果您真的想使用浮点步进值,请使用
numpy.arange
:但是,浮点舍入误差 会 导致问题。这是一个简单的情况,舍入错误导致
arange
产生一个长度为 4 的数组,而它应该只产生 3 个数字: