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