什么是类似于 sum() 的减法函数,用于减去列表中的项目?

2022-01-09 00:00:00 python function sum subtraction

问题描述

我正在尝试创建一个计算器,但我无法编写一个从列表中减去数字的函数.
例如:

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.

相关文章