新聞中心
在Python中,sum()函數(shù)是一個(gè)非常常用的內(nèi)置函數(shù),用于計(jì)算可迭代對(duì)象(如列表、元組等)中所有元素的總和,下面是關(guān)于如何使用sum()函數(shù)的詳細(xì)技術(shù)教學(xué)。

1、基本用法
sum()函數(shù)的基本用法非常簡(jiǎn)單,只需將要計(jì)算總和的可迭代對(duì)象作為參數(shù)傳遞給該函數(shù)即可。
numbers = [1, 2, 3, 4, 5] total = sum(numbers) print(total) # 輸出:15
在這個(gè)例子中,我們創(chuàng)建了一個(gè)包含5個(gè)整數(shù)的列表numbers,然后使用sum()函數(shù)計(jì)算這些數(shù)字的總和,并將結(jié)果存儲(chǔ)在變量total中,我們打印出總和。
2、空可迭代對(duì)象的情況
如果傳遞給sum()函數(shù)的可迭代對(duì)象為空,那么該函數(shù)將返回0。
empty_list = [] total = sum(empty_list) print(total) # 輸出:0
在這個(gè)例子中,我們創(chuàng)建了一個(gè)空列表empty_list,然后使用sum()函數(shù)計(jì)算這個(gè)空列表的總和,由于列表為空,所以總和為0。
3、對(duì)非數(shù)值類型的元素進(jìn)行求和
sum()函數(shù)不僅可以計(jì)算數(shù)值類型的元素之和,還可以對(duì)其他可迭代對(duì)象中的元素進(jìn)行求和,我們可以使用sum()函數(shù)計(jì)算字符串中字符的ASCII值之和:
string = "hello" total = sum(ord(c) for c in string) print(total) # 輸出:500
在這個(gè)例子中,我們首先使用列表推導(dǎo)式計(jì)算出字符串中每個(gè)字符的ASCII值,然后將這些ASCII值作為參數(shù)傳遞給sum()函數(shù),我們打印出總和。
4、對(duì)嵌套可迭代對(duì)象進(jìn)行求和
如果傳遞給sum()函數(shù)的可迭代對(duì)象是嵌套的(即包含其他可迭代對(duì)象),那么該函數(shù)將遞歸地計(jì)算所有子可迭代對(duì)象的總和。
nested_list = [[1, 2], [3, 4], [5, 6]] total = sum(sum(sublist) for sublist in nested_list) print(total) # 輸出:21
在這個(gè)例子中,我們創(chuàng)建了一個(gè)嵌套的列表nested_list,然后使用兩層嵌套的列表推導(dǎo)式計(jì)算出所有子列表的總和,我們將這些總和作為參數(shù)傳遞給sum()函數(shù),以計(jì)算整個(gè)嵌套列表的總和。
5、對(duì)字典的值進(jìn)行求和
對(duì)于字典,我們可以使用sum()函數(shù)對(duì)其值進(jìn)行求和。
dictionary = {"a": 1, "b": 2, "c": 3}
total = sum(dictionary.values())
print(total) # 輸出:6
在這個(gè)例子中,我們創(chuàng)建了一個(gè)字典dictionary,然后使用字典的values()方法獲取其值,并將這些值作為參數(shù)傳遞給sum()函數(shù),我們打印出總和。
6、對(duì)自定義對(duì)象的求和方法進(jìn)行重載
如果我們想要對(duì)自定義對(duì)象的實(shí)例進(jìn)行求和,我們需要在自定義類中定義一個(gè)名為__add__的特殊方法,這個(gè)方法需要接收兩個(gè)參數(shù)(通常是另一個(gè)自定義對(duì)象的實(shí)例),并返回一個(gè)新的自定義對(duì)象實(shí)例。
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)
在這個(gè)例子中,我們定義了一個(gè)名為MyClass的自定義類,并在其中定義了__add__方法,這個(gè)方法接收兩個(gè)MyClass實(shí)例作為參數(shù),并返回一個(gè)新的MyClass實(shí)例,其值為兩個(gè)輸入實(shí)例的值之和,我們還定義了一個(gè)名為__repr__的方法,用于在打印自定義對(duì)象時(shí)提供更友好的輸出格式,我們創(chuàng)建了兩個(gè)MyClass實(shí)例,并使用加號(hào)運(yùn)算符將它們相加,我們可以看到,結(jié)果是一個(gè)新的MyClass實(shí)例,其值為兩個(gè)輸入實(shí)例的值之和。
網(wǎng)頁(yè)名稱:python中如何用sum
文章網(wǎng)址:http://m.fisionsoft.com.cn/article/dhjgopc.html


咨詢
建站咨詢
