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

Python中如何一步自动生成首尾固定的等差序列列表?

生成指定长度的首尾固定等差序列

问题背景

我有一个列表A,首元素为20、尾元素为0,需要生成长度为6的列表C(元素为从20到0的等差序列)。目前通过手动编写元素实现,但希望无需手动编写,一步完成生成操作。

原实现代码:

len_A=6
A=[20,0]
B=A[0]/(len_A-1)
C=[A[0],A[0]-B, A[0]-2*B,A[0]-3*B,A[0]-4*B,0]
print(C)

原输出/预期输出:

[20, 16.0, 12.0, 8.0, 4.0, 0]

解决方案

方法1:使用numpy的linspace函数(简洁高效)

numpy提供的linspace可以直接生成起始值、终止值、长度固定的等差序列,一步到位:

import numpy as np

len_A = 6
A = [20, 0]
C = np.linspace(A[0], A[1], len_A).tolist()
print(C)

输出结果:[20.0, 16.0, 12.0, 8.0, 4.0, 0.0](若需要首元素为整数20,可通过int()转换或调整参数)

方法2:纯Python实现(无需第三方库)

如果不想依赖numpy,用列表推导式即可自动计算每个元素:

len_A = 6
A = [20, 0]
step = (A[1] - A[0]) / (len_A - 1)
C = [A[0] + i * step for i in range(len_A)]
print(C)

输出结果:[20, 16.0, 12.0, 8.0, 4.0, 0.0],完全符合预期,且无需手动编写每个元素。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 01:24:27