减去列表中的整数元素

时间:2012-10-23 17:24:00

标签: python python-3.x

我需要编写一个函数来减去列表中前一个的每个下一个数字。你能帮帮我吗?数字已在列表中,因此您无需输入它们。

 >>>substractionF [20, 10, -5, 12, 14, -13, -5, 0, 3] returns:  
 [10, 15, -17, -2, 27, -8, -5, -3]

谢谢:d

5 个答案:

答案 0 :(得分:2)

这很简单。我会用zip显示,但您可以使用enumeraterange + len轻松完成...

def subtract(lst):
    return [ b-a for a,b in zip(lst[1:],lst[:-1])]

答案 1 :(得分:1)

以下列表理解会这样做:

[x - lst[i + 1] for i, x in enumerate(lst[:-1])]

答案 2 :(得分:1)

使用operatormap

from operator import sub
res = map(sub, el[:-1], el[1:])
print(list(res))
# [10, 15, -17, -2, 27, -8, -5, -3]

答案 3 :(得分:0)

def subtractionF(numbers):
    return [numbers[i]-numbers[i+1] for i in range(len(numbers)-1)]

答案 4 :(得分:0)

>>> from itertools import imap
>>> list(imap(lambda x,y: x-y,numbers[:-1],numbers[1:]))
[10, 15, -17, -2, 27, -8, -5, -3]