什么是pythonic方法来生成原始列表的相邻值之间的差异列表

什么是pythonic方法来生成原始列表的相邻值之间的差异列表,python,list,subtraction,Python,List,Subtraction,我有一个列表,想知道是否可以在Python中执行以下操作,而不必添加额外的库来改进代码 我想得到一个列表中元素之间的差异列表 orig_list = [12, 27,31,55,95] #desired output spacings =[15, 4, 24,40] 我知道我可以做第二个列表并减去它,我只是想知道是否有其他/更好的方法。你可以使用列表理解和zip: [j-i for i,j in zip(orig_list[:-1], orig_list[1:])] # [15, 4, 24

我有一个列表,想知道是否可以在Python中执行以下操作,而不必添加额外的库来改进代码

我想得到一个列表中元素之间的差异列表

orig_list = [12, 27,31,55,95]

#desired output
spacings =[15, 4, 24,40]

我知道我可以做第二个列表并减去它,我只是想知道是否有其他/更好的方法。

你可以使用列表理解和
zip

[j-i for i,j in zip(orig_list[:-1], orig_list[1:])]
# [15, 4, 24, 40]
虽然如果NumPy是一个选项,那么您有
np.diff

np.diff(orig_list)
# array([15,  4, 24, 40])

这也可以通过列表理解实现,而无需使用
zip
。只需迭代从索引1到n的列表元素:


[orig_list[i]-orig_list[i-1]用于范围内的i(1,len(orig_list))]

嗨,yalu,我知道如何在numpy中实现它,但我想不出如何在常规python中实现它,这可以为一个操作导入库,非常感谢。这回答了你的问题吗?事实上,更受欢迎的是。嗨,AMC,“更受欢迎的一个”应该回答了我的问题,我必须说我特别喜欢崔兹的解决方案(如下),尽管在你展示的其中一个问题上有一个类似的语法答案,非常感谢。