如何实现类似np.diff、间隔3个元素的列表差值计算?
实现间隔3个元素的差值计算(基于numpy)
要得到你需要的间隔3个元素的差值,只需两步:先提取目标元素子列表,再用np.diff计算差值。
操作步骤:
- 首先从原列表中提取每隔3个元素选取的目标元素:使用Python切片语法
jj[::3],就能获取从第一个元素开始、步长为3的子列表(对应你示例里的加粗元素)。 - 对这个子列表调用
np.diff,即可得到相邻元素的差值。
完整代码示例:
import numpy as np # 原输入列表 jj = [1,3,9,4,5,6,1,2,4,1,7,9,0,4,1,9] # 提取间隔3个元素的子列表 selected_elements = jj[::3] # 计算差值 diff_result = np.diff(selected_elements) print("选取的目标元素:", selected_elements) print("计算得到的差值:", diff_result)
输出结果:
选取的目标元素: [1, 4, 1, 1, 0, 9] 计算得到的差值: [ 3 -3 0 -1 9]
注:你给出的期望输出[3,-3,0,-1,-9]中最后一个值为-9,这与实际计算的9不符,推测是笔误——因为9 - 0 = 9。如果需要前一个元素减后一个元素的结果,可以用np.array(selected_elements[:-1]) - np.array(selected_elements[1:])得到[-3, 3, 0, 1, -9],建议核对需求逻辑。
内容的提问来源于stack exchange,提问作者arya
相关产品推荐
相关产品推荐

