欢迎访问宙启技术站
智能推送

Python中如何使用sum()函数计算数字或可迭代对象的总和?

发布时间:2023-07-01 19:48:15

在Python中,sum()函数是用于计算数字或可迭代对象的总和的内置函数之一。它可以接受一个可迭代对象作为参数并返回其元素的总和。

sum()函数有以下用法:

1. 计算数字的总和:

sum()函数可以接受一个数字序列并计算它们的总和。

示例代码:

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

在这个例子中,我们定义了一个包含数字的列表,并将其作为参数传递给sum()函数。函数将计算列表中所有元素的总和并返回结果。

2. 计算可迭代对象的总和:

sum()函数可以接受一个可迭代对象作为参数,并计算其元素的总和。

示例代码:

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
total = sum(matrix, [])
print(total)  # 输出:45

在这个例子中,我们定义了一个包含多个列表的列表matrix,并将其作为参数传递给sum()函数。通过传递额外的空列表[]作为第二个参数,函数将逐个取出matrix中的所有元素并计算它们的总和。

3. 计算带有初始值的可迭代对象的总和:

sum()函数还可以接受一个可迭代对象和一个可选的初始值作为参数,并返回可迭代对象的总和加上初始值。

示例代码:

numbers = (1, 2, 3, 4, 5)
total = sum(numbers, 10)
print(total)  # 输出:25

在这个例子中,我们定义了一个包含数字的元组numbers,并将其作为参数传递给sum()函数。通过传递额外的初始值10作为第二个参数,函数将计算numbers中所有元素的总和,然后将总和与初始值相加并返回结果。

需要注意的是,sum()函数默认对数字进行求和。如果传递的是字符串列表或其他非数字对象,将会抛出TypeError异常。为了解决这个问题,可以通过在sum()函数中使用生成器表达式、列表推导式或自定义的迭代函数来将非数字对象转为数字对象。

示例代码:

strings = ['1', '2', '3', '4', '5']
total = sum(int(x) for x in strings)
print(total)  # 输出:15

在这个例子中,我们通过生成器表达式将字符串列表中的元素转换为整数,并将结果作为参数传递给sum()函数。函数将计算所有整数的总和并返回结果。

总结:

sum()函数是Python中计算数字或可迭代对象总和的一个常用函数。它可以用于计算数字序列的总和,也可以用于计算可迭代对象中元素的总和。此外,还可以通过传递初始值作为参数,计算带有初始值的可迭代对象的总和。需要注意的是,sum()函数默认对数字进行求和,如果传递的是非数字对象需要先将其转为数字对象。