如何使用Python对数组的成对索引元素选择性执行差运算
实现数组两两分组后元素相减的通用方案
需求说明
将输入数组按顺序每两个元素分为一组,每组内用第二个元素减去第一个元素,最终输出所有分组的差值组成的新数组,支持适配任意长度的输入数组。
示例输入:
a = [1,2,3,4,5,6,7,8,9,10]
预期输出:
k = [1, 1, 1, 1, 1]
实现代码
写法1:步长遍历列表推导式
k = [a[i+1] - a[i] for i in range(0, len(a), 2)]
写法2:切片配对实现
k = [y - x for x, y in zip(a[::2], a[1::2])]
边界情况说明
- 若输入数组长度为奇数,无法配对的最后一个元素会被自动忽略,例如输入
[1,2,3,4,5]时输出为[1, 1] - 若输入数组长度小于2,输出为空列表
内容的提问来源于stack exchange,提问作者Srikrishnarka Pillalamarri
相关产品推荐
相关产品推荐

