如何迭代非整数范围
当尝试使用 range() 创建具有小数步长值的范围时,您可能会遇到错误,指出步骤参数不能为零。出现这种情况是因为 range() 需要开始、停止和步骤参数为整数值。
使用 NumPy 的 linspace 的解决方案
要规避此问题并使用以下命令创建范围非整数步长值,请考虑使用 NumPy 的 linspace 函数。 linspace 获取要返回的点数,并允许您指定是否包含正确的端点。例如:
import numpy as np # Create a range from 0 to 1 with 11 equally spaced points (including 1) points = np.linspace(0, 1, 11) # Create a range from 0 to 1 with 10 equally spaced points (excluding 1) points_excl = np.linspace(0, 1, 10, endpoint=False)
使用 NumPy 的 arange 的解决方案
虽然由于潜在的舍入错误,通常不建议使用浮点步长值,但 NumPy 提供了 arange专门为此目的而设计的功能。但是,请注意,仍然可能会出现舍入误差:
import numpy as np # Create a range from 0.0 to 1.0 with a step value of 0.1 points = np.arange(0.0, 1.0, 0.1) # Example of a potential rounding error using arange points = np.arange(1, 1.3, 0.1) # Expected length: 3, Actual length: 4
以上是如何在 Python 中创建具有非整数步长的范围?的详细内容。更多信息请关注PHP中文网其他相关文章!