sum函数python用法

2023-12-15 5:18:36网络知识悟空

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异常。

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

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

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

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

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

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

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

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

发表评论: