欢迎访问宙启技术站
智能推送

Python中的sum()函数及其用法

发布时间:2023-06-03 19:03:08

Python中的sum()函数是Python内置函数之一,在Python中用于将多个元素相加得到一个总和。此函数语法格式如下:

sum(iterable[, start])

其中,iterable表示可迭代对象,例如列表、元组、集合、字典等;start是总和的初始值,如果没有指定,则默认为0。

sum()函数可以接受1个或2个参数,如果只传递一个可迭代对象,则将默认从 个元素开始累加;如果同时传递了两个参数,那么 个参数表示要累加的可迭代对象,第二个参数是累加的初始值。

下面是一些sum()函数的实例:

实例1:对列表进行求和

使用sum()函数对列表进行求和,将列表里的所有元素相加,最终返回累加的总和。

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

result = sum(num_list)

print(result)

输出结果为:15

解释:对于列表num_list,它里面的所有元素分别为1、2、3、4、5,将它们累加起来得到的结果为15。

实例2:累加器初始值自定义

可以设置一个自定义的初始值。

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

result = sum(num_list, 100)

print(result)

输出结果为:115

解释:这里与实例1的代码相比,多了一个参数100,它作为累加器的初始值,最终求和结果为100+1+2+3+4+5=115。

实例3:对元组进行求和

元组也是一种可迭代对象,使用sum()函数对元组进行求和,这与对列表的操作基本相同。

num_tuple = (1, 2, 3, 4, 5)

result = sum(num_tuple)

print(result)

输出结果为:15

解释:这里的num_tuple中的元素与num_list中的元素相同,它们的类型不同而已。

实例4:对集合进行求和

Python中的集合类型也是一种可迭代对象,所以可以使用sum()函数对它们进行求和。

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

result = sum(num_set)

print(result)

输出结果为:15

解释:这里将集合num_set传递给了sum()函数,它的元素与元组和列表一样,所以最终的结果也是15。

需要注意的是,由于集合是无序的,所以sum()函数在对集合进行求和时并不能保证求和过程中的顺序。

实例5:对字典进行求和

对于字典类型,可以对它的键、值或者键值对进行求和,这些操作可以通过内置函数zip()来实现。

num_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

result = sum(num_dict.values())

print(result)

# 对字典中的键进行求和

result_key = sum(num_dict.keys())

print(result_key)

# 对字典中键与值的和进行求和

result_kv = sum(num_dict.items())

print(result_kv)

输出结果为:

15

输出结果为:

'abcde'

输出结果为:

'abcde12345'

解释:num_dict的键为'a'、'b'、'c'、'd'、'e',值为1、2、3、4、5。num_dict.values()是一个可迭代对象,它代表了num_dict的值,将其传递给sum()函数即可实现对num_dict中的值求和。

对于对键进行求和,只需要将num_dict.keys()传递给sum()函数即可。

对于键值对的求和,可以使用zip()函数来将键和值打包成元组,再传递给sum()函数。需要注意的是,这种求和方法返回的结果可能不是我们预期的,因为Python中对元组进行运算时,元组是先按照元素的顺序进行逐个相加,然后将结果组成一个新的元组。

综上所述,sum()函数的用法非常灵活,可以对多种类型的对象进行求和, simplifying our code and increasing our efficiency.