sum函數(shù)高級(jí)用法
引言:sum函數(shù)是Python中常用的內(nèi)置函數(shù)之一,用于計(jì)算可迭代對(duì)象(例如列表、元組等)中所有元素的總和。除了簡單的對(duì)列表進(jìn)行求和外,sum函數(shù)還有一些高級(jí)的用法,本文將詳細(xì)介紹這些用法,并提供實(shí)際
引言:
sum函數(shù)是Python中常用的內(nèi)置函數(shù)之一,用于計(jì)算可迭代對(duì)象(例如列表、元組等)中所有元素的總和。除了簡單的對(duì)列表進(jìn)行求和外,sum函數(shù)還有一些高級(jí)的用法,本文將詳細(xì)介紹這些用法,并提供實(shí)際應(yīng)用示例。
1. sum函數(shù)的基本用法
在了解sum函數(shù)的高級(jí)用法之前,首先需要了解其基本用法。sum函數(shù)接受一個(gè)可迭代對(duì)象作為參數(shù),并返回其中所有元素的總和。
```python
numbers [1, 2, 3, 4, 5]
total sum(numbers)
print(total) # 輸出:15
```
2. sum函數(shù)的高級(jí)用法
2.1. 求和帶有初始值的可迭代對(duì)象
sum函數(shù)可以接受兩個(gè)參數(shù),第一個(gè)參數(shù)是可迭代對(duì)象,第二個(gè)參數(shù)是求和的初始值。這樣可以在求和時(shí)加上一個(gè)初始值,而不是默認(rèn)從0開始。
```python
numbers [1, 2, 3, 4, 5]
total sum(numbers, 10)
print(total) # 輸出:25
```
2.2. 求和特定條件下的元素
sum函數(shù)還可以通過傳入一個(gè)條件函數(shù)來選擇性地對(duì)某些元素進(jìn)行求和。條件函數(shù)需要接受一個(gè)元素作為參數(shù),并返回一個(gè)布爾值,決定該元素是否參與求和。
```python
numbers [1, 2, 3, 4, 5]
total sum(numbers, lambda x: x % 2 1)
print(total) # 輸出:9,只對(duì)奇數(shù)進(jìn)行求和
```
2.3. 求和特定類型的元素
如果可迭代對(duì)象中包含多種類型的元素,可以使用類型判斷來選擇性地對(duì)某種類型的元素進(jìn)行求和。
```python
mixed [1, '2', 3, '4', 5]
total sum(filter(lambda x: isinstance(x, int), mixed))
print(total) # 輸出:9,只對(duì)整數(shù)類型的元素進(jìn)行求和
```
3. 應(yīng)用示例
接下來,通過幾個(gè)具體的應(yīng)用示例來演示sum函數(shù)的高級(jí)用法。
3.1. 計(jì)算購物車中商品的總價(jià)格
假設(shè)有一個(gè)購物車列表,其中的元素是字典,每個(gè)字典表示一個(gè)商品,包括名稱和價(jià)格兩個(gè)鍵值對(duì)。我們可以使用sum函數(shù)來計(jì)算購物車中所有商品的總價(jià)格。
```python
cart [
{'name': '手機(jī)', 'price': 1999},
{'name': '電腦', 'price': 5999},
{'name': '平板', 'price': 2999}
]
total_price sum(item['price'] for item in cart)
print(total_price) # 輸出:10997
```
3.2. 統(tǒng)計(jì)學(xué)生成績的平均值
假設(shè)有一個(gè)學(xué)生成績列表,其中的元素是字典,每個(gè)字典表示一個(gè)學(xué)生的成績,包括姓名和分?jǐn)?shù)兩個(gè)鍵值對(duì)。我們可以使用sum函數(shù)來計(jì)算學(xué)生們的平均分。
```python
students [
{'name': '小明', 'score': 85},
{'name': '小紅', 'score': 92},
{'name': '小剛', 'score': 78}
]
average_score sum(item['score'] for item in students) / len(students)
print(average_score) # 輸出:85.0
```
總結(jié):
本文介紹了sum函數(shù)的高級(jí)用法,并通過實(shí)際的應(yīng)用示例演示了其靈活性和實(shí)用性。希望讀者通過學(xué)習(xí)本文,可以更深入地理解并應(yīng)用sum函數(shù),提升編程效率。
參考鏈接:
- Python官方文檔:#sum