Python中的sum()函数及其高级应用
Python中的sum()函数是内置函数之一,它用于对可迭代对象中的元素进行求和操作。它可以接受两个参数:可迭代对象和初始值(可选)。如果只指定可迭代对象,则初始值默认为0。
1. 直接求和一个序列
最常见的使用sum()函数的方式是直接对一个序列进行求和操作。例如:
a = [1, 2, 3, 4, 5]
sum_a = sum(a)
print(sum_a)
输出结果为:15
2. 对可迭代对象中某些元素进行求和
sum()函数还可以接受一个可迭代对象和一个函数,函数用于指定对哪些元素进行求和操作。例如:
a = [1, 2, 3, 4, 5]
sum_a = sum(filter(lambda x: x % 2 == 0, a))
print(sum_a)
这个例子中,我们对a中的偶数进行求和操作,输出结果为:6
3. 对多个序列进行求和
sum()函数还可以用于对多个序列进行求和操作。例如:
a = [1, 2, 3, 4, 5]
b = [6, 7, 8, 9, 10]
sum_ab = sum(zip(a, b))
print(sum_ab)
zip()函数可以用于将多个序列配对,输出结果为:55
4. 返回浮点数结果
sum()函数默认返回整数结果,但是可以通过指定初始值为浮点数来返回浮点数结果。例如:
a = [1, 2, 3, 4, 5]
sum_float = sum(a, 0.0)
print(sum_float)
输出结果为:15.0
5. 高级用法:加权求和
有时候需要对序列中的元素进行加权求和操作,这个时候就需要使用sum()函数的高级用法。例如:
a = [1, 2, 3, 4, 5]
weights = [0.1, 0.2, 0.3, 0.4, 0.5]
weighted_sum = sum([x * w for x, w in zip(a, weights)])
print(weighted_sum)
这个例子中,我们对a中的元素进行加权求和,输出结果为:3.5
总结:sum()函数是Python中一个非常实用的函数,可以用于对序列或可迭代对象中的元素进行求和操作,同时还可以用于对某些元素进行求和、对多个序列进行求和和加权求和操作。
