Python:查找列表元素之间的差异

163
给定一个数字列表,如何找到每个(i)元素与其(i + 1)元素之间的差异?
使用lambda表达式还是列表解析更好呢?
例如:
给定一个列表t=[1,3,6,...],目标是找到一个列表v=[2,3,…],因为3-1=2,6-3=3等。
12个回答

0

你也可以使用以下方法将差异转换为易于阅读的过渡矩阵:

v = t.reshape((c,r)).T - t.T

其中c表示列表中的项目数,r等于1,因为列表基本上是一个向量或一维数组。


-1

我的方式

>>>v = [1,2,3,4,5]
>>>[v[i] - v[i-1] for i, value in enumerate(v[1:], 1)]
[1, 1, 1, 1]

2
使用enumerate是浪费的,因为没有使用value。请参阅https://dev59.com/w3E95IYBdhLWcg3wOLU1#16714453。 - Asclepius

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接