从下一个元素减去每个元素的最佳方法是什么

时间:2019-04-01 00:57:57

标签: python-3.x

我的清单很长,我想从下一个元素中减去每个元素。那么最好的方法是什么? “在可读性和速度方面都是最好的”

例如:列表为:

res = [0, 1, 4, 6, 7]  

结果应为:output=[1, 3, 2, 1]
需要说明的是,输出的最后一个元素来自output[-1]= res[-1] - res[-2]

所以我尝试了[x-y for x, y in zip (res[::-1], res[::-1][1:])][::-1]

它是如此之快,但却是复杂且难以理解的:“我想我将不记得接下来的几周内所做的事情”

P.S我正在使用res[::-1]反转列表

1 个答案:

答案 0 :(得分:1)

无需反转;只需将列表压缩成对:

>>> [i - j for i, j in zip(res[1:], res[:-1])]
[1, 3, 2, 1]