什么是类似于 sum() 的减法函数,用于减去列表中的项目?
问题描述
我正在尝试创建一个计算器,但我无法编写一个从列表中减去数字的函数.
例如:
I am trying to create a calculator, but I am having trouble writing a function that will subtract numbers from a list.
For example:
class Calculator(object):
def __init__(self, args):
self.args = args
def subtract_numbers(self, *args):
return ***here is where I need the subtraction function to be****
对于加法,我可以简单地使用 return sum(args)
来计算总数,但我不确定我可以为减法做什么.
For addition, I can simply use return sum(args)
to calculate the total but I am unsure of what I can do for subtractions.
解决方案
from functools import reduce # omit on Python 2
import operator
a = [1,2,3,4]
xsum = reduce(operator.__add__, a) # or operator.add
xdif = reduce(operator.__sub__, a) # or operator.sub
print(xsum, xdif)
## 10 -8
reduce(operator.xxx, list)
基本上是在列表元素之间插入"运算符.
reduce(operator.xxx, list)
basically "inserts" the operator in-between list elements.
相关文章