
今天我们要介绍一个基础的函数——sum函数。单从其名称就能推断出,这个函数的主要功能是进行求和运算。
sum函数的规范书写格式是:sum(一个可迭代的序列,以及一个可选的起始数值)
第一个参数的输入可以是列表、元组、集合或生成器等可迭代的数据结构,但需注意:这些结构中的各个元素必须能够进行加法运算,这通常意味着它们是数值类型,或者属于实现了相应加法运算的自定义类。
第二个参数起始值是可选的,默认值为 0 。

比如:
x =
1, 2, 3, 4, 5
print(sum(x)) # 输出:15(默认起始值0)
执行print函数,计算并显示x列表中所有元素与100的和,结果为115(即100加上1、2、3、4、5的总和)。
结合列表推导式,二维列表也可以求和:
x =
总计等于x中每个子序列的和的总和。
print(total) # 输出:21
结合map,可以对列表的每个值进行处理后再求和。如:
x =
计算x中每个元素的立方值,并将这些立方值累加起来,即等价于使用sum函数结合map函数,其中map函数将立方操作应用于x的每个元素。
print() # 输出:36
值得注意的是,sum函数并不适用于直接对字符串进行求和操作。一旦列表中包含字符串元素,程序将会抛出错误。在这种情况下,我们可以通过使用map函数来实现数据类型的转换,进而完成求和,例如:
x =
"1", "2", "3"
# 方法1:map转换
执行对序列x中每个元素进行整数转换并求和的操作,结果显示为6。
# 方法2:列表推导式
print(sum(
int(i) for i in x
)) # 输出:6
Sum还可以对实现了add方法的自定义类进行求和。
例如,我们可以定义一个名为P的类,用于代表一个二维平面向量,该类包含x和y两个坐标属性。通过实现add方法,我们可以得到两个向量坐标相加后形成的新向量。
接下来,我们需要设定一个向量序列,并利用求和函数对这一序列中的向量逐一进行累加,从而获得一个总和向量。在此过程中,必须确保初始值同样具备与向量序列中各个向量相加的能力,否则计算将无法正常进行。以本例中的P(0,0)为例,它就是一个适合的起始值。
class P:
def (self, x, y):
self.x = x
self.y = y
def (self, other):
# 实现向量加法:返回新向量(x1+x2, y1+y2)
创建新的实例,其x坐标为自身x坐标与另一个对象x坐标之和,y坐标为自身y坐标与另一个对象y坐标之和。
def (self): # 方便打印查看结果
f"P({self.x}, {self.y})"
# 向量列表求和(起始值需为P类实例,如原点(0,0))
=
P(1, 2), P(3, 4), P(5, 6)
以(0,0)为起点,对向量进行逐项累加。
执行打印操作,结果显示:概率值为P(9, 12),即(1加3加5等于9,2加4加6等于12)。

关于sum函数的内容,我就介绍到这里,如果还有任何疑问,欢迎在评论区提出。
扫一扫在手机端查看
-
Tags : Python
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1