我正在尝试使用 Python3 实现一段代码,该代码生成 n
等距数字(可能是有理数)的列表,这些数字介于两个指定数字之间。
例如:
如果 n = 3
,x = -1
和 y = 1
,结果应该是 [-1,0,1]
。
我的假设是这应该使用 numpy 的 arange
以及根据这三个值计算的步长,但我无法计算出数学。在这个简单的示例中,步长 = 1,但如果 x = 0
和 y = 1
,则步长为 .5
。
最佳答案
你可以在没有 numpy
的情况下使用一个简单的生成器来做到这一点:
def numbers(x, y, n):
assert n > 1
step = (y - x) / (n - 1)
for i in range(n):
yield x + i*step
print(list(numbers(-1, 1, 3))) # [-1, 0.0, 1.0]
print(list(numbers(0, 1, 3))) # [0, 0.5, 1.0]
关于python - 获取 x 和 y 之间的 n 个数字的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56668701/