青青草免费线看线看|啊在车上停不下来了|国产少女免费观看电视剧|仑乱88MAV|精品老司机在线观看视频|国产一区二区三区高清免费视频|在线观看免费777av

Python內(nèi)置函數(shù)之filter map reduce介紹

Python是一門高級編程語言,由于其簡單易學、語法簡潔、開發(fā)效率高等優(yōu)點,近年來被廣泛應用于數(shù)據(jù)分析、機器學習、Web開發(fā)等領域 。Python內(nèi)置函數(shù)是Python語言的重要組成部分,其中filter、map、reduce是Python內(nèi)置函數(shù)中比較常用、也比較重要的三個函數(shù),本文將從多個角度對這三個函數(shù)進行詳細介紹 。
一、filter函數(shù)

Python內(nèi)置函數(shù)之filter map reduce介紹


filter函數(shù)是Python內(nèi)置函數(shù)之一,用于過濾序列中的元素,返回一個滿足條件的新序列 。filter函數(shù)的基本語法為:
filter(function, iterable)
其中,function是一個函數(shù),用于對序列中的每個元素進行判斷,返回True或False;iterable是一個可迭代對象,如列表、元組、字符串等 。filter函數(shù)會對iterable中的每個元素調(diào)用function函數(shù),將返回True的元素放入新序列中返回 。
例如,下面的代碼使用filter函數(shù)過濾出列表中的偶數(shù):
```python
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = filter(lambda x: x % 2 == 0, nums)
print(list(result)) # [2, 4, 6, 8, 10]
```
在上面的代碼中,lambda函數(shù)用于判斷列表中的每個元素是否為偶數(shù),filter函數(shù)對nums中的每個元素調(diào)用lambda函數(shù),將返回True的元素放入新列表result中 。
二、map函數(shù)
map函數(shù)是Python內(nèi)置函數(shù)之一,用于對序列中的每個元素進行操作,返回一個新序列 。map函數(shù)的基本語法為:
map(function, iterable)
其中,function是一個函數(shù),用于對序列中的每個元素進行操作;iterable是一個可迭代對象,如列表、元組、字符串等 。map函數(shù)會對iterable中的每個元素調(diào)用function函數(shù),將返回值放入新序列中返回 。
例如,下面的代碼使用map函數(shù)對列表中的每個元素進行平方操作:
```python
nums = [1, 2, 3, 4, 5]
result = map(lambda x: x ** 2, nums)
print(list(result)) # [1, 4, 9, 16, 25]
```
在上面的代碼中,lambda函數(shù)用于對列表中的每個元素進行平方操作,map函數(shù)對nums中的每個元素調(diào)用lambda函數(shù),將返回值放入新列表result中 。
【Python內(nèi)置函數(shù)之filter map reduce介紹】三、reduce函數(shù)
reduce函數(shù)是Python內(nèi)置函數(shù)之一,用于對序列中的元素進行累積操作,返回一個結(jié)果 。reduce函數(shù)的基本語法為:
reduce(function, iterable)
其中,function是一個函數(shù),用于對序列中的元素進行累積操作;iterable是一個可迭代對象,如列表、元組、字符串等 。reduce函數(shù)會對iterable中的每個元素調(diào)用function函數(shù),將返回值累積起來返回 。
例如,下面的代碼使用reduce函數(shù)對列表中的元素進行累加操作:
```python
nums = [1, 2, 3, 4, 5]
result = reduce(lambda x, y: x + y, nums)
print(result) # 15
```
在上面的代碼中,lambda函數(shù)用于對列表中的元素進行累加操作,reduce函數(shù)對nums中的每個元素調(diào)用lambda函數(shù),將返回值累積起來返回 。
四、三個函數(shù)的比較
filter、map、reduce三個函數(shù)都是Python內(nèi)置函數(shù)中比較常用、也比較重要的函數(shù),它們的作用也不盡相同,下面對它們進行比較:
1. filter函數(shù)用于過濾序列中的元素,返回一個滿足條件的新序列;map函數(shù)用于對序列中的每個元素進行操作,返回一個新序列;reduce函數(shù)用于對序列中的元素進行累積操作,返回一個結(jié)果 。
2. filter、map、reduce三個函數(shù)都需要一個函數(shù)作為參數(shù),用于對序列中的元素進行操作或判斷 。
3. filter、map、reduce三個函數(shù)都可以用lambda函數(shù)作為參數(shù),簡化代碼 。
4. filter、map、reduce三個函數(shù)返回的結(jié)果類型不同,filter函數(shù)返回一個序列,map函數(shù)返回一個序列,reduce函數(shù)返回一個結(jié)果 。

猜你喜歡