python中如何用sum
- 行业动态
- 2024-04-07
- 1
在Python中,sum()函数是一个非常常用的内置函数,用于计算可迭代对象(如列表、元组等)中所有元素的总和,下面是关于如何使用sum()函数的详细技术教学。
1、基本用法
sum()函数的基本用法非常简单,只需将要计算总和的可迭代对象作为参数传递给该函数即可。
numbers = [1, 2, 3, 4, 5] total = sum(numbers) print(total) # 输出:15
在这个例子中,我们创建了一个包含5个整数的列表numbers,然后使用sum()函数计算这些数字的总和,并将结果存储在变量total中,我们打印出总和。
2、空可迭代对象的情况
如果传递给sum()函数的可迭代对象为空,那么该函数将返回0。
empty_list = [] total = sum(empty_list) print(total) # 输出:0
在这个例子中,我们创建了一个空列表empty_list,然后使用sum()函数计算这个空列表的总和,由于列表为空,所以总和为0。
3、对非数值类型的元素进行求和
sum()函数不仅可以计算数值类型的元素之和,还可以对其他可迭代对象中的元素进行求和,我们可以使用sum()函数计算字符串中字符的ASCII值之和:
string = "hello" total = sum(ord(c) for c in string) print(total) # 输出:500
在这个例子中,我们首先使用列表推导式计算出字符串中每个字符的ASCII值,然后将这些ASCII值作为参数传递给sum()函数,我们打印出总和。
4、对嵌套可迭代对象进行求和
如果传递给sum()函数的可迭代对象是嵌套的(即包含其他可迭代对象),那么该函数将递归地计算所有子可迭代对象的总和。
nested_list = [[1, 2], [3, 4], [5, 6]] total = sum(sum(sublist) for sublist in nested_list) print(total) # 输出:21
在这个例子中,我们创建了一个嵌套的列表nested_list,然后使用两层嵌套的列表推导式计算出所有子列表的总和,我们将这些总和作为参数传递给sum()函数,以计算整个嵌套列表的总和。
5、对字典的值进行求和
对于字典,我们可以使用sum()函数对其值进行求和。
dictionary = {"a": 1, "b": 2, "c": 3} total = sum(dictionary.values()) print(total) # 输出:6
在这个例子中,我们创建了一个字典dictionary,然后使用字典的values()方法获取其值,并将这些值作为参数传递给sum()函数,我们打印出总和。
6、对自定义对象的求和方法进行重载
如果我们想要对自定义对象的实例进行求和,我们需要在自定义类中定义一个名为__add__的特殊方法,这个方法需要接收两个参数(通常是另一个自定义对象的实例),并返回一个新的自定义对象实例。
class MyClass: def __init__(self, value): self.value = value def __add__(self, other): return MyClass(self.value + other.value) def __repr__(self): return f"MyClass({self.value})" a = MyClass(1) b = MyClass(2) c = a + b print(c) # 输出:MyClass(3)
在这个例子中,我们定义了一个名为MyClass的自定义类,并在其中定义了__add__方法,这个方法接收两个MyClass实例作为参数,并返回一个新的MyClass实例,其值为两个输入实例的值之和,我们还定义了一个名为__repr__的方法,用于在打印自定义对象时提供更友好的输出格式,我们创建了两个MyClass实例,并使用加号运算符将它们相加,我们可以看到,结果是一个新的MyClass实例,其值为两个输入实例的值之和。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/317148.html