百科狗-知识改变命运!
--

sum函数python用法

乐乐1年前 (2023-11-19)阅读数 45#技术干货
文章标签函数

sum函数是Python内置的一个函数,用于对可迭代对象中的所有元素进行求和操作。它可以接受一个可迭代对象作为参数,返回一个数字类型的结果。sum函数的语法如下:

sum(iterable[, start])

其中,iterable表示可迭代对象,start表示可选参数,表示起始值,默认为0。

使用sum函数的时候,需要注意以下几点:

1. 可迭代对象中的元素必须是数字类型,否则会抛出TypeError异常。

2. 如果可迭代对象为空,sum函数返回起始值(如果有),否则会抛出TypeError异常。

3. 如果可迭代对象中存在NaN(Not a Number)或者Infinity(无穷大)等特殊值,sum函数会返回NaN或者Infinity。

下面我们来看一些具体的例子。

## 1. 对列表进行求和

我们可以使用sum函数对列表中的元素进行求和,如下所示:

`python

a = [1, 2, 3, 4, 5]

print(sum(a)) # 15

## 2. 对元组进行求和
除了列表,我们还可以对元组进行求和,如下所示:
`python
a = (1, 2, 3, 4, 5)
print(sum(a))  # 15

## 3. 对集合进行求和

对于集合,我们也可以使用sum函数进行求和,如下所示:

`python

a = {1, 2, 3, 4, 5}

print(sum(a)) # 15

## 4. 对字典中的值进行求和
如果我们想对字典中的值进行求和,可以使用字典的values方法和sum函数,如下所示:
`python
a = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
print(sum(a.values()))  # 15

## 5. 指定起始值

如果我们想从一个非零的起始值开始求和,可以使用sum函数的第二个参数指定起始值,如下所示:

`python

a = [1, 2, 3, 4, 5]

print(sum(a, 10)) # 25

## 6. 使用生成器表达式
除了常见的可迭代对象,我们还可以使用生成器表达式作为sum函数的参数,如下所示:
`python
a = (x for x in range(1, 6))
print(sum(a))  # 15

## 7. 处理特殊值

当可迭代对象中存在NaN或者Infinity等特殊值的时候,sum函数会返回NaN或者Infinity,如下所示:

`python

a = [1, 2, float('nan'), 4, 5]

print(sum(a)) # nan

a = [1, 2, float('inf'), 4, 5]

print(sum(a)) # inf

在处理这种情况的时候,我们需要注意。

## 8. 扩展问答

### 1. sum函数只能对数字类型进行求和吗?

是的,sum函数只能对数字类型进行求和。如果可迭代对象中存在非数字类型的元素,会抛出TypeError异常。

sum函数python用法

### 2. sum函数的第二个参数有什么作用?

sum函数的第二个参数可以指定起始值,默认为0。如果我们想从一个非零的起始值开始求和,可以使用第二个参数。

### 3. sum函数对于特殊值的处理方式是什么?

当可迭代对象中存在NaN或者Infinity等特殊值的时候,sum函数会返回NaN或者Infinity。

### 4. sum函数能够处理的可迭代对象有哪些?

sum函数能够处理的可迭代对象包括列表、元组、集合、字典的values方法返回的可迭代对象以及生成器表达式等。

### 5. sum函数的返回值是什么类型?

sum函数的返回值是数字类型。如果可迭代对象为空,返回起始值(如果有),否则会抛出TypeError异常。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)