和是编程中最频繁的操作,Python也不例外。Python 提供了 sum() 函数,可以帮助你计算数字之和。
Python 总和
sum()是一个内置的Python 函数 ,它接收一个迭代器作为参数,将迭代器的元素相加,并返回总和。要在Python 中计算一个列表、元组、字典或集合的总和,请使用**sum()**方法。
迭代器可以是 List, Tuple, Set, 或 Dictionary。
语法
sum(iterable, start)
参数
sum() 函数将给定的迭代器的开始和元素从左到右相加。
迭代器可以是Python的List、Tuple、Set或Dictionary。
如何在 Python 中查找 List 的总和
要在 Python 中找到 List 的总和,请使用 sum() 方法。sum()是一个内置的方法,用来获取总和。 你需要定义 List 并将 List 作为参数传递给 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
dictionary 的值是 String,但在这里并不重要,因为我们将添加键而不是值。
Python sum(): 错误和异常
当 List 中有数字以外的其他数据类型时,会引发错误。
请看下面的代码。
# 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()是一个内置方法,可以计算浮点数的和。
如果你需要用精确的.fsum()函数来代替添加浮点数,你应该使用math。
import math
listA = [1.1, 1.9, 2.1, 4.6]
print(math.fsum(listA))
输出
9.7
如果你需要串联给定迭代器的项目(项目必须是字符串),你可以使用Python join()方法。
这就是Python中sum()函数的内容了。