python - 获取 x 和 y 之间的 n 个数字的列表

标签 python algorithm math range

我正在尝试使用 Python3 实现一段代码,该代码生成 n 等距数字(可能是有理数)的列表,这些数字介于两个指定数字之间。

例如: 如果 n = 3x = -1y = 1,结果应该是 [-1,0,1]

我的假设是这应该使用 numpy 的 arange 以及根据这三个值计算的步长,但我无法计算出数学。在这个简单的示例中,步长 = 1,但如果 x = 0y = 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/

相关文章:

c# - 如何生成钟形曲线(高斯函数)

python - 对字典进行排序并将其写入 CSV 文件

Python for Smartsheet - 获取 _ipython_canary_method_should_not_exist_

python - 基于 Django 类的 View : Override form name

c++ - 无法使用 vector::插入 "no instance of overloaded function..."

python - 编写一个找到完美数字的程序 - 错误

python - Linux 中的 Century Gothic 字体

algorithm - 替换嵌套的 if 语句

algorithm - 如何将时间序列数据存储在列表(或任何其他数据结构)中以获得各种范围内的合理趋势?

c++ - 如何从一个 vector 计算坐标系?