和是编程中最频繁的操作,Python也不例外。Python 提供了 sum() 函数,可以帮助你计算数字之和。
Python 总和
sum() 是一个内置的 Python 函数,它以一个迭代器为参数,将迭代器的元素相加,并返回总和。迭代器可以是任何东西,如 List, Tuple, Set, 或 Dictionary。 要在 Python 中计算一个 list、Tuple、dictionary 或 set 的总和,请使用 sum() 方法。
语法
sum(iterable, start)
参数
sum() 函数将给定迭代器的起始和元素从左到右相加。
迭代器可以是Python 的 list、tuple、set 或dictionary。
如何在 Python 中找到列表的总和
要在 Python 中找到列表的总和,请使用 sum() 方法。sum()是一个内置的方法,用来获取列表的总和。
你需要定义列表并将列表作为参数传递给 sum() 函数,作为回报,你将得到列表项的总和。
让我们取一个列表,应用sum函数,并看看结果:
# app.py
listA = [
11,
18,
19,
21,
46
]
print(sum(listA))
请看下面的输出:
➜ pyt python3 app.py
115
➜ pyt
如果你需要以精确的精度添加浮点数,你应该使用**math.fsum(iterable)**来代替,如果你想把一个给定的iterable 的项连接起来 (项必须是一个字符串),那么你可以使用Python String join()方法。
如何在Python中找到一个元组的总和
要在Python中找到一个元组的总和,可以使用sum()方法。例如,定义一个带有数字值的元组,并将该元组作为参数传递给sum()函数,作为回报,你将得到元组项的总和。
让我们定义一个元组,在sum()函数中传递元组,并看看输出:
# app.py
tupA = (
11,
18,
19,
21,
46
)
print(sum(tupA))
请看下面的输出:
➜ pyt python3 app.py
115
➜ pyt
如何在Python中找到集合元素的总和
要在Python中计算集合的总和,请使用sum()方法。首先,定义 一个集合,并将该集合作为参数传给sum()函数,作为回报,你将得到集合项的和。
请看下面的代码:
# app.py
setA = {
11,
18,
19,
21,
46
}
print(sum(setA))
请看输出结果:
➜ pyt python3 app.py
115
➜ pyt
在Python中查找字典键的总和。
要在 Python 中查找字典键的总和,请使用 sum() 方法。 在Python字典的情况下,字典的键会被加上。因此,输出将是所有字典键的总和:
# app.py
dictA = {
11: 'Eleven',
18: 'Dustin',
19: 'Mike',
21: 'Lucas',
46: 'Noah'
}
print(sum(dictA))
请看输出:
➜ pyt python3 app.py
115
➜ pyt
看,字典中的值是 String,但在这里并不重要,因为我们将添加键而不是值。
Python sum(): 错误和异常
当列表中除数字以外的其他数据类型时,会引发错误。
请看下面的代码:
# app.py
dictA = {
'11': 'Eleven',
'18': 'Dustin',
'19': 'Mike',
'21': 'Lucas',
'46': 'Noah'
}
print(sum(dictA))
在上面的代码中,我把键作为一个字符串,而不是一个整数。所以,它将引发以下错误:
➜ pyt python3 app.py
Traceback (most recent call last):
File "app.py", line 9, in <module>
print(sum(dictA))
TypeError: unsupported operand type(s) for +: 'int' and 'str'
➜ pyt
你可以从字符串转换为整数,以获得正确的结果。
传递第二个参数
sum()函数将第二个参数 "start " 作为一个可选项。
它的返回结果如下。
所有元素的总和+ "start"
请看下面的例子:
# app.py
listA = [
11,
18,
19,
21,
46
]
print(sum(listA, 19))
请看输出结果:
➜ pyt python3 app.py
134
➜ pyt
这意味着115 + 19 = 134。
Python中的浮点数之和
要在Python中计算浮点数的和,可以使用math.fsum()方法。math.fsum()是一个内置方法,可以计算浮点数的和。
如果你需要以精确的精度添加浮点数,你应该使用math.fsum()函数代替:
import math
listA = [1.1, 1.9, 2.1, 4.6]
print(math.fsum(listA))
输出
9.7
如果你需要串联给定迭代器的项目(项目必须是字符串),你可以使用Python join()方法。
这就是Python中sum()函数的内容了。