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]
带 sub
还可通过 map 函数使用 operators 模块中的 sub 方法。我们再次使用切片技术切出两个连续的元素对。
示例
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]
广告