Python中針對函數(shù)處理的特殊方法
很多語言都提供了對參數(shù)或變量進(jìn)行處理的機(jī)制,作為靈活的Python,提供了一些針對函數(shù)處理的特殊方法
filter(function, sequence): 對sequence中的item依次執(zhí)行function(item),將執(zhí)行結(jié)果為True的item組成一個(gè)List/String/Tuple
map(function, sequence) : 對sequence中的item依次執(zhí)行function(item),見執(zhí)行結(jié)果組成一個(gè)List
reduce(function, sequence, starting_value): 對sequence中的item順序迭代調(diào)用function
sum(sequence): 對集合中的元素進(jìn)行累加
下面針對上面的描述寫一個(gè)簡單的小例子:
__author__ = 'Administrator'
from functools import reduce
#主要用來掩飾map可以將某個(gè)序列中的元素傳遞給某個(gè)特殊的函數(shù)來處理
def map_demo():
#定義一個(gè)將字母轉(zhuǎn)換成大寫的函數(shù)
def to_upper(ch):
return str(ch).upper()
#對給定字符串中的每個(gè)字母應(yīng)用to_upper函數(shù)
print(list(map(to_upper, "asdfasdfuasdlaksdjf".split())))
#主要使用一個(gè)基于布爾值得函數(shù)對元素進(jìn)行過濾
def filter_demo():
def is_alnum(ch):
return ch.isalnum()
#!se會被過濾掉
test_list = ['sdas', '123d', '!se', '孫阿斯蒂芬']
#基于具體函數(shù)
print(list(filter(is_alnum, test_list)))
#基于列表推導(dǎo)
print(list(x for x in test_list if x.isalnum()))
#基于匿名函數(shù)
print(list(filter(lambda x: x.isalnum(), test_list)))
#reduce的主要功能是利用列表中的兩個(gè)元素迭代調(diào)用某個(gè)函數(shù),最后得到一個(gè)結(jié)果
#在python3中要顯示的添加 from functools import reduce
#本例中運(yùn)行的過程大致是先是1+2=3,利用3+4=7,7+4.......
def reduce_demo():
print(reduce(lambda x, y: x + y, range(1, 10)))
#利用sum函數(shù)累加列表中的值
def sum_demo():
print(sum(range(10)))
if __name__ == "__main__":
#map_demo()
#filter_demo()
#reduce_demo()
sum_demo()
- python中實(shí)現(xiàn)定制類的特殊方法總結(jié)
- 詳解Python中的__new__、__init__、__call__三個(gè)特殊方法
- 實(shí)例解析Python中的__new__特殊方法
- Python中類的初始化特殊方法
- 淺談Python類的__getitem__和__setitem__特殊方法
- Python深入學(xué)習(xí)之特殊方法與多范式
- Python進(jìn)階學(xué)習(xí)之特殊方法實(shí)例詳析
- Python中的類與對象之描述符詳解
- Python 描述符(Descriptor)入門
- python實(shí)現(xiàn)裝飾器、描述符
- Python常用特殊方法實(shí)例總結(jié)
相關(guān)文章
使用ITK-SNAP進(jìn)行摳圖操作并保存mask的實(shí)例
這篇文章主要介紹了使用ITK-SNAP進(jìn)行摳圖操作并保存mask的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
python使用Pycharm創(chuàng)建一個(gè)Django項(xiàng)目
這篇文章主要介紹了python使用Pycharm創(chuàng)建一個(gè)Django項(xiàng)目,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
Mysql分組查詢group by與with rollup方式
這篇文章主要介紹了Mysql分組查詢group by與with rollup方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
django數(shù)據(jù)模型中null和blank的區(qū)別說明
這篇文章主要介紹了django數(shù)據(jù)模型中null和blank的區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09

