Python中的sum()函数及其用法
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.
