【问题标题】:List between 2 ranges and n elements in python在python中列出2个范围和n个元素
【发布时间】:2020-01-18 23:38:01
【问题描述】:

如何创建一个系列号码列表? 例如 function(0, 2, 5) 从 0 到 2 有 5 个元素 --> [0, 0.5, 1, 1.5, 2] python中有什么函数可以做到吗?

【问题讨论】:

  • 范围函数只适用于整数
  • 您可以创建生成器或列表推导式或常规迭代器,根据您定义的规则填充您的列表。
  • 如果您不反对使用 3rd 方库,numpy 已经解决了这个问题,如图所示 here

标签: python-3.x list controls discrete-mathematics discretization


【解决方案1】:

numpy 做你想做的事:

>>> import numpy as np
>>> np.linspace(0, 2, 5)
array([0. , 0.5, 1. , 1.5, 2. ])

如果你真的需要它是一个列表,那么你可以这样做:

>>> list(np.linspace(0, 2, 5))
[0.0, 0.5, 1.0, 1.5, 2.0]

【讨论】:

    【解决方案2】:

    这是一个计算增量并创建数组的简单函数。

    def n_spaced_range(x_start, x_end, n_elements):
        d = (x_end - x_start) / (n_elements-1)
        return [x_start + i*d for i in range(n_elements)]
    

    【讨论】:

    • 是的,我知道,但我的问题是关于 python 的本机函数,如 range u.u
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 2021-06-17
    • 2021-10-28
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多