Python sum:如何计算List和Tuple的总和

850 阅读3分钟

Python Sum Example | sum() Function In Python Tutorial

和是编程中最频繁的操作,Python也不例外。Python 提供了 sum() 函数,可以帮助你计算数字之和。

Python 总和

sum()是一个内置的Python 函数 ,它接收一个迭代器作为参数,将迭代器的元素相加,并返回总和。要在Python计算一个列表元组字典集合总和,请使用**sum()**方法。

迭代器可以是 List, Tuple, Set, 或 Dictionary。

语法

sum(iterable, start)

参数

sum() 函数将给定的迭代器的开始和元素从左到右相加。

迭代器可以是Python的ListTupleSetDictionary

如何在 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()函数的内容了。