内置函数 sum() 用于返回给定可迭代对象的元素之和。求和计算从指定的起始点(默认为 0)开始,并从可迭代对象的左侧到右侧进行。
sum(iterable, start) #where iterable may be list, tuple, dict etc
接受两个参数。如果我们要精确地添加浮点数,这种情况下我们需要使用 math.fsum(iterable)。
| 参数 | 描述 | 必需/可选 |
|---|---|---|
| 可迭代对象 | iterable(列表、元组、字典等)。可迭代对象的项应该都是数字。 | 必需 |
| 开始 (start) | 此值将添加到可迭代对象的各项之和。start 的默认值为 0。 | 可选 |
如果可迭代对象包含字符串元素,则我们需要使用 join() 而不是 sum()。sum() 的条件是可迭代对象应该包含一些值,否则会引发错误。
| 输入 | 返回值 |
|---|---|
| 可迭代对象 | 可迭代对象的和 |
numberlist = [6, 3.5, -4, 2]
# start parameter is not provided
numberlist_sum = sum(numberlist)
print(numberlist_sum)
# start = 8
numberlist_sum = sum(numberlist, 8)
print(numberlist_sum)
输出
7.5 15.5
listsum=[2,5,7,3,1]
tuple1sum=(40,30,20)
dictsum={ 0:11, 2:22, 5:33, 1:44 }
complx_nums=[ 3+2j, 5+4j, 2+1j]
print("list elements sum :",sum(listsum,10))
print("tuple elements sum :", sum(tuplesum))
print("dictionary keys sum :", sum(dictsum))
print("complex numbers sum :", sum(complx_nums))
输出
list elements sum: 28 tuple elements sum: 90 dictionary keys sum: 8 complex numbers sum: (10+7j)