python 內(nèi)置函數(shù)filter
python 內(nèi)置函數(shù)filter
class filter(object): """ filter(function or None, iterable) --> filter object Return an iterator yielding those items of iterable for which function(item) is true. If function is None, return the items that are true. """
filter(func,iterator)
func:自定義或匿名函數(shù)中所得值是布爾值,true將保留函數(shù)所取到的值,false則取反。
iterator:可迭代對(duì)象。
例:
過(guò)濾列表['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']
只要含有text字符串及將其取出 or 取反。
s.rfind'text'+1
Python3中 rfind() 返回字符串最后一次出現(xiàn)的位置,如果沒(méi)有匹配項(xiàng)則返回-1。
數(shù)字中0是false,0以上的整數(shù)都是true,所以s.rfind'text'后會(huì)有+1,沒(méi)找到字符及-1+1=0.
# Filter
li = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']
# 默認(rèn)保留函數(shù)所取到的值
print(list(filter(lambda s: s.rfind('text') + 1, li)))
# 取反,下三個(gè)例子是一樣的
print(list(filter(lambda s: not s.rfind('text') + 1, li)))
# Noe 自定義函數(shù)
l1 = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']
def distinguish(l):
nl = []
for s in l:
if s.rfind("text") + 1:
nl.append(s)
return nl
print(distinguish(l1))
# Two 自定義高階函數(shù)
l2 = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']
def f(s):
return s.rfind('text') + 1
def distinguish(func, array):
nl = []
for s in array:
if func(s):
nl.append(s)
return nl
print(distinguish(f, l2))
# Three 匿名函數(shù)
l3 = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']
def distinguish(func, array):
nl = []
for s in array:
if func(s):
nl.append(s)
return nl
print(distinguish(lambda s: s.rfind('text') + 1, l3))
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
python進(jìn)度條顯示-tqmd模塊的實(shí)現(xiàn)示例
這篇文章主要介紹了python進(jìn)度條顯示-tqmd模塊的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
使用pandas 將DataFrame轉(zhuǎn)化成dict
今天小編就為大家分享一篇使用pandas 將DataFrame轉(zhuǎn)化成dict,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
python中sklearn庫(kù)predict及python sklearn linearmodel(
Scikit-learn(sklearn)是機(jī)器學(xué)習(xí)中常用的第三方模塊,對(duì)常用的機(jī)器學(xué)習(xí)方法進(jìn)行了封裝,包括回歸(Regression)、降維(Dimensionality Reduction)、分類(Classfication)、聚類(Clustering)等方法,今天小編給大家分享python中sklearn庫(kù)predict的問(wèn)題,感興趣的朋友一起看看吧2024-02-02
使用FastCGI部署Python的Django應(yīng)用的教程
這篇文章主要介紹了使用FastCGI部署Python的Django應(yīng)用的教程,FastCGI也是被最廣泛的應(yīng)用于Python框架和服務(wù)器連接的模塊,需要的朋友可以參考下2015-07-07
在python中求分布函數(shù)相關(guān)的包實(shí)例
這篇文章主要介紹了在python中求分布函數(shù)相關(guān)的包實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
Python爬取數(shù)據(jù)保存為Json格式的代碼示例
今天小編就為大家分享一篇關(guān)于Python爬取數(shù)據(jù)保存為Json格式的代碼示例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04
Tensorflow使用tfrecord輸入數(shù)據(jù)格式
這篇文章主要介紹了Tensorflow使用tfrecord輸入數(shù)據(jù)格式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
實(shí)現(xiàn)Windows下設(shè)置定時(shí)任務(wù)來(lái)運(yùn)行python腳本
這篇文章主要介紹了實(shí)現(xiàn)Windows下設(shè)置定時(shí)任務(wù)來(lái)運(yùn)行python腳本的完整過(guò)程,有需要的朋友可以借鑒參考下,希望對(duì)廣大讀者朋友能夠有所幫助2021-09-09

