python中求和函数sum详解

  • Post category:Python

Python内置的求和函数是sum(),它可以用来计算一个可迭代对象(比如列表、元组、集合)中所有元素的和。在这里,我们就来详细讲解一下这个函数的用法和一些注意事项。

基本用法

sum()函数的基本用法非常简单,就是将可迭代对象作为参数传递进去,然后它就会返回该对象中所有元素的和。例如:

nums = [1, 2, 3, 4, 5]
total = sum(nums)
print(total) # 输出 15

这里,我们定义了一个包含数字1到5的列表nums,然后将它传递给sum()函数,得到它们的和。

求和起点的设置

有时候,我们可能需要从一个可迭代对象的某个位置开始累加求和,而不是从第一个元素开始。这时,我们可以给sum()函数传递一个可选的start参数,表示求和的起点。例如:

nums = [1, 2, 3, 4, 5]
total = sum(nums, start=2)
print(total) # 输出 12,即从索引为2的元素3开始累加求和

在这个例子中,我们将start参数设为2,表示从列表中的第3个元素(即索引为2)开始累加计算。最终,函数返回的是2+3+4+5=14。

注意事项

在使用sum()函数时,需要注意以下几点:

  1. 它只能用来求和数字类型的可迭代对象,对于其他类型则会抛出TypeError异常。
  2. 如果可迭代对象中有空值或非数字类型的元素,会抛出TypeError异常。
  3. 在Python 2.x版本中,sum()函数默认只能处理整数类型,而且调用起来很慢。因此,如果需要处理浮点数类型的可迭代对象,则需要显式地将其转换为浮点数类型。而在Python 3.x版本中,sum()函数则可以处理任何数字类型。

示例代码:

“` python

例1:sum()函数只能用来求和数字类型的可迭代对象

nums = [1, 2, ‘3’, 4, 5] # 注意,这里有一个字符串类型的元素’3′
total = sum(nums)

抛出异常:TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’

例2:显式地将可迭代对象转换为浮点数类型

nums = [1.0, 2.0, 3.0, 4.0, 5.0]
total = sum(nums)
print(total) # 输出 15.0(浮点型)