You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何生成以指定常量为中心按固定间隔扩展的数值列表

Python 生成对称间隔数值列表的高效实现

以下是几种不同场景下的实现方案,均可以直接调整单侧点数、间隔步长适配不同需求:

方案1:纯Python列表推导式(无额外依赖,优先推荐)

不需要导入任何第三方库,运行效率高,适合绝大多数轻量场景:

constant_value = 1.0
step = 0.1
# 单侧取值个数,对应需求里的上下各4个
side_count = 4

output_list = [constant_value + (i - side_count) * step for i in range(2 * side_count + 1)]

如果遇到浮点数二进制精度问题(比如输出出现0.6000000000000001这类值),可以加round控制小数位数:

output_list = [round(constant_value + (i - side_count) * step, len(str(step).split('.')[-1])) for i in range(2 * side_count + 1)]

方案2:高精度场景用decimal模块

对数值精度要求极高的场景,用decimal模块避免浮点数精度丢失:

from decimal import Decimal

constant_value = Decimal("1.0")
step = Decimal("0.1")
side_count = 4

output_list = [float(constant_value + (i - side_count) * step) for i in range(2 * side_count + 1)]

方案3:numpy生态下的linspace实现

如果已经在使用numpy做数值计算,用linspace代码更简洁:

import numpy as np

constant_value = 1.0
step = 0.1
side_count = 4

output_list = np.linspace(
    start=constant_value - side_count * step,
    stop=constant_value + side_count * step,
    num=2 * side_count + 1
).tolist()

三种方案输出结果都和示例的[0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4]完全一致。

内容的提问来源于stack exchange,提问作者mrp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:12:04