在 range() 中使用十进制步长值
Python 的 range() 函数允许在指定范围内递增值。但是,当尝试使用十进制步长值时,会发生错误,因为它不能为零。
要克服此限制,建议将步长值指定为范围内要生成的点数。 NumPy 库提供了 linspace 函数,该函数采用多个点和一个可选的端点值。例如:
import numpy as np np.linspace(0, 1, 11) # returns [0, 0.1, 0.2, ..., 1] np.linspace(0, 1, 10, endpoint=False) # returns [0, 0.1, 0.2, ..., 0.9]
如果需要使用浮点步长值,可以使用 numpy.arange:
np.arange(0.0, 1.0, 0.1) # returns [0, 0.1, 0.2, ..., 0.9]
但是,浮点舍入错误可能会导致意外行为:
np.arange(1, 1.3, 0.1) # returns [1, 1.1, 1.2, 1.3] (incorrect due to rounding error)
因此优先使用NumPy的linspace函数或者指定点数来生成具有十进制步长值的范围。
以上是如何在 Python 中生成具有十进制步长值的范围?的详细内容。更多信息请关注PHP中文网其他相关文章!