Python中針對(duì)函數(shù)處理的特殊方法
很多語言都提供了對(duì)參數(shù)或變量進(jìn)行處理的機(jī)制,作為靈活的Python,提供了一些針對(duì)函數(shù)處理的特殊方法
filter(function, sequence): 對(duì)sequence中的item依次執(zhí)行function(item),將執(zhí)行結(jié)果為True的item組成一個(gè)List/String/Tuple
map(function, sequence) : 對(duì)sequence中的item依次執(zhí)行function(item),見執(zhí)行結(jié)果組成一個(gè)List
reduce(function, sequence, starting_value): 對(duì)sequence中的item順序迭代調(diào)用function
sum(sequence): 對(duì)集合中的元素進(jìn)行累加
下面針對(duì)上面的描述寫一個(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()
#對(duì)給定字符串中的每個(gè)字母應(yīng)用to_upper函數(shù)
print(list(map(to_upper, "asdfasdfuasdlaksdjf".split())))
#主要使用一個(gè)基于布爾值得函數(shù)對(duì)元素進(jìn)行過濾
def filter_demo():
def is_alnum(ch):
return ch.isalnum()
#!se會(huì)被過濾掉
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中的類與對(duì)象之描述符詳解
- Python 描述符(Descriptor)入門
- python實(shí)現(xiàn)裝飾器、描述符
- Python常用特殊方法實(shí)例總結(jié)
相關(guān)文章
Python利用PyPDF2庫實(shí)現(xiàn)輕松提取PDF文本
ython中的PyPDF2庫是一個(gè)非常有用的工具,無論您是需要分析PDF文檔中的內(nèi)容還是需要在文檔中搜索特定的信息,PyPDF2都可以幫助您輕松實(shí)現(xiàn)這些任務(wù),下面我們就來學(xué)習(xí)一下如何利用PyPDF2提取PDF文本吧2023-09-09Django實(shí)現(xiàn)WebSSH操作物理機(jī)或虛擬機(jī)的方法
這篇文章主要介紹了Django實(shí)現(xiàn)WebSSH操作物理機(jī)或虛擬機(jī)的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11PyCharm設(shè)置Ipython交互環(huán)境和宏快捷鍵進(jìn)行數(shù)據(jù)分析圖文詳解
這篇文章主要介紹了PyCharm設(shè)置Ipython交互環(huán)境和宏快捷鍵進(jìn)行數(shù)據(jù)分析圖文詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04