如何用Python减去列表中的所有项?

IIC*_*zII 1 python

我想要做的是按顺序减去该列表中的所有项目:

>>> ListOfNumbers = [1,2,3,4,5,6,7,8,9,10]
>>> 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10  # should be computed
-53
Run Code Online (Sandbox Code Playgroud)

Eug*_*ash 8

你可以使用这个reduce()功能:

>>> from functools import reduce
>>> lst = [1,2,3,4,5,6,7,8,9,10]
>>> reduce(lambda x, y: x - y, lst)
-53
Run Code Online (Sandbox Code Playgroud)

或者使用operator.sub而不是lambda:

>>> import operator
>>> reduce(operator.sub, lst)
-53
Run Code Online (Sandbox Code Playgroud)

请注意,在Python 2.x中reduce()是内置的,因此您无需导入它.