python十九:map,filter,reduce函数
生活随笔
收集整理的這篇文章主要介紹了
python十九:map,filter,reduce函数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
# 處理序列中的每個(gè)元素,得到的結(jié)果是一個(gè)'列表',該'列表'元素個(gè)數(shù)及位置與原來一樣
def map_practice(func, lt_num):lt_new = []for i in lt_num:lt_new.append(func(i))return lt_new# 通過傳遞函數(shù),很好的提高代碼復(fù)用性
v = map_practice(lambda x: x+1, [1, 5, 10, 15, 20])
# 系統(tǒng)函數(shù),map()
v1 = list(map(lambda x: x+1, [1, 5, 10, 15, 20]))
print(v)
print(v1)
# 處理列表中每個(gè)元素,判斷每個(gè)元素得到布爾值,如果是True,則保留
def filter_practice(func, lt_people):lt_l = []for people in lt_people:if func(people) > 0:lt_l.append(people)return lt_lv = filter_practice(lambda p:p.count('L'), ["劉備_L", "關(guān)羽_L", "張飛_L", "曹操_C","張遼_C"])
print(v)# 調(diào)用系統(tǒng)的filter函數(shù)
v = list(filter(lambda p:p.count('L'),["劉備_L", "關(guān)羽_L", "張飛_L", "曹操_C","張遼_C"]))
print(v)
# 引用模塊中的reduce, 類似c中的庫函數(shù),java的系統(tǒng)包
# 處理一個(gè)序列,把序列進(jìn)行合并操作
from functools import reducedef reduce_practice(func, lt_num):res = 1for n in lt_num:res = func(res, n)return resv = reduce_practice(lambda x,y:x+10, [2, 3, 4, 5])
print(v)v = reduce(lambda x,y:x+10, [2, 3, 4, 5])
print(v)
?
總結(jié)
以上是生活随笔為你收集整理的python十九:map,filter,reduce函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python十八:尾调用与递归
- 下一篇: c三:string