Python生成连续元素差异列表

在这篇作为元素的文章中,我们将看到如何为给定列表中的每对元素查找两个连续元素之间的差异。该列表仅包含数字作为其元素。

带索引

使用元素索引和for循环,我们可以找到连续对元素之间的差异。

示例

listA = [12,14,78,24,24]
# Given list
print("Given list : \n",listA)
# Using Index positions
res = [listA[i + 1] - listA[i] for i in range(len(listA) - 1)]
# printing result
print ("List with successive difference in elements : \n" ,res)

输出结果

运行上面的代码给我们以下结果-

Given list :
[12, 14, 78, 24, 24]
List with successive difference in elements :
[2, 64, -54, 0]

带切片

切片是另一种技术,其中我们从列表中切片连续的对,然后应用zip函数以获得结果。

示例

listA = [12,14,78,24,24]
# Given list
print("Given list : \n",listA)
# Using list slicing
res = [x - y for y, x in zip(listA[: -1], listA[1 :])]
# printing result
print ("List with successive difference in elements : \n" ,res)

输出结果

运行上面的代码给我们以下结果-

Given list :
[12, 14, 78, 24, 24]
List with successive difference in elements :
[2, 64, -54, 0]

带子

运算符模块中的子方法也可以通过映射功能使用。同样,我们将切片技术应用于两个连续的元素对。

示例

import operator
listA = [12,14,78,24,24]
# Given list
print("Given list : \n",listA)
# Using operator.sub
res = list(map(operator.sub, listA[1:], listA[:-1]))
# printing result
print ("List with successive difference in elements : \n" ,res)

输出结果

运行上面的代码给我们以下结果-

Given list :
[12, 14, 78, 24, 24]
List with successive difference in elements :
[2, 64, -54, 0]