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

Python中如何计算数组相邻元素的差值得到目标数组

问题解决思路

你的代码核心问题是for i in array遍历拿到的是数组的元素值,不是元素的索引位置,所以不能用i来定位前后元素。下面给你三种可直接运行的实现方案:

方案1:索引遍历(最适合新手理解)

直接遍历数组的索引位置,从第二个元素开始逐个和前一个元素求差:

array = [1, 1, 2, 3, 5, 8]
diff = []
# range左闭右开,终点写len(array)就能取到最后一个元素的索引
for i in range(1, len(array)):
    current_val = array[i]
    prev_val = array[i-1]
    diff.append(current_val - prev_val)

print(diff) # 输出结果:[0, 1, 1, 2, 3]

方案2:zip配对写法(更简洁)

用zip将原数组和去掉首元素的数组配对,直接遍历相邻元素对求差:

array = [1, 1, 2, 3, 5, 8]
diff = [curr - prev for prev, curr in zip(array, array[1:])]
print(diff)

方案3:numpy内置方法(数据处理场景常用)

如果是做数值计算相关的开发,直接调用numpy封装好的diff方法,一行即可得到结果:

import numpy as np
array = np.array([1, 1, 2, 3, 5, 8])
diff = np.diff(array)
print(diff) # 输出:[0 1 1 2 3]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:06:02