久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > sum在python中的用法

sum在python中的用法

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-18 17:31:44 1700299904

在Python中,sum()函數(shù)用于對序列進(jìn)行求和操作。序列可以是列表、元組、集合等可迭代對象。

sum(iterable[, start])

其中,iterable是要進(jìn)行求和的序列,start是可選參數(shù),表示求和的初始值,默認(rèn)為0。

例如,我們可以使用sum()函數(shù)對一個列表進(jìn)行求和操作:

`python

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

result = sum(numbers)

print(result) # 15


除了列表,我們還可以對元組、集合等可迭代對象進(jìn)行求和操作:
`python
# 對元組進(jìn)行求和
numbers = (1, 2, 3, 4, 5)
result = sum(numbers)
print(result)  # 15
# 對集合進(jìn)行求和
numbers = {1, 2, 3, 4, 5}
result = sum(numbers)
print(result)  # 15

sum()函數(shù)還可以接受一個可選參數(shù)start,表示求和的初始值。例如:

`python

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

result = sum(numbers, 10)

print(result) # 25


在這個例子中,sum()函數(shù)的初始值為10,所以求和的結(jié)果為15+10=25。
除了基本用法,sum()函數(shù)還有一些有用的擴展用法,下面我們來逐一介紹。
擴展用法一:對字典的值進(jìn)行求和
sum()函數(shù)不僅可以對列表、元組、集合等可迭代對象進(jìn)行求和,還可以對字典的值進(jìn)行求和。例如:
`python
prices = {'apple': 0.5, 'banana': 0.3, 'orange': 0.4}
result = sum(prices.values())
print(result)  # 1.2

在這個例子中,我們使用了字典的values()方法獲取所有的值,然后使用sum()函數(shù)對這些值進(jìn)行求和。

擴展用法二:對生成器進(jìn)行求和

生成器是一種特殊的可迭代對象,它不會一次性生成所有的元素,而是在需要的時候才生成。sum()函數(shù)也可以對生成器進(jìn)行求和。例如:

`python

numbers = (i for i in range(1, 6))

result = sum(numbers)

print(result) # 15


在這個例子中,我們使用了生成器表達(dá)式創(chuàng)建了一個包含1到5的生成器,然后使用sum()函數(shù)對這個生成器進(jìn)行求和。
擴展用法三:對對象列表的屬性進(jìn)行求和
有時候我們會有一個對象列表,每個對象都有一個屬性,我們希望對這個屬性進(jìn)行求和。可以使用sum()函數(shù)和列表推導(dǎo)式來實現(xiàn)。例如:
`python
class Product:
    def __init__(self, name, price):
        self.name = name
        self.price = price
products = [Product('apple', 0.5), Product('banana', 0.3), Product('orange', 0.4)]
result = sum([product.price for product in products])
print(result)  # 1.2

在這個例子中,我們定義了一個Product類,每個Product對象都有一個name屬性和一個price屬性。然后我們創(chuàng)建了一個包含三個Product對象的列表,最后使用列表推導(dǎo)式和sum()函數(shù)對每個Product對象的price屬性進(jìn)行求和。

問答

1. sum()函數(shù)的返回值是什么類型?

sum()函數(shù)的返回值是一個數(shù)字,可以是整數(shù)、浮點數(shù)等。

2. sum()函數(shù)對空序列的求和結(jié)果是什么?

對空序列進(jìn)行求和會返回初始值(如果有),否則會拋出TypeError異常。

3. sum()函數(shù)能否對字符串進(jìn)行求和操作?

不能。如果對字符串進(jìn)行求和操作,會拋出TypeError異常。

4. sum()函數(shù)能否對二維列表進(jìn)行求和操作?

不能。sum()函數(shù)只能對一維序列進(jìn)行求和操作。如果要對二維列表進(jìn)行求和,需要使用嵌套的for循環(huán)和sum()函數(shù)來實現(xiàn)。

5. sum()函數(shù)能否對字典的鍵進(jìn)行求和操作?

不能。sum()函數(shù)只能對可迭代對象進(jìn)行求和操作,而字典的鍵不是可迭代對象。如果要對字典的鍵進(jìn)行求和,需要先將鍵轉(zhuǎn)換為列表或集合,然后再使用sum()函數(shù)進(jìn)行求和。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT