Python代碼閱讀--列表元素邏輯判斷
1、every
def every(lst, fn=lambda x: x): return all(map(fn, lst)) # EXAMPLES every([4, 2, 3], lambda x: x > 1) # True every([1, 2, 3]) # True
every 用于判斷列表 lst 中的元素是否都符合給定的判斷條件 fn 。
代碼中首先使用 map 返回一個(gè)迭代器,該迭代器會(huì)將判斷條件 fn 應(yīng)用于所有的列表元素上。然后使用 all 函數(shù)判斷迭代器中的元素是否都為 True 。
all(iterable) 接收一個(gè)可迭代對(duì)象,如果這個(gè)對(duì)象中的所有元素都為 True ,則函數(shù)返回 True 。注意,當(dāng)該對(duì)象為空時(shí),也返回 True 。該函數(shù)等價(jià)于:
def all(iterable):
for element in iterable:
if not element:
return False
return True
2、some
def some(lst, fn=lambda x: x): return any(map(fn, lst)) # EXAMPLES some([0, 1, 2, 0], lambda x: x >= 2 ) # True some([0, 0, 1, 0]) # True
some 用于判斷列表 lst 列表中是否存在符合給定的條件 fn 的元素。
代碼中首先使用 map 返回一個(gè)迭代器,該迭代器會(huì)將判斷條件 fn 應(yīng)用于所有的列表元素上。然后使用 any 函數(shù)判斷迭代器中是否至少有一個(gè)元素為 True 。
any(iterable) 接收一個(gè)可迭代對(duì)象,如果這個(gè)對(duì)象中有任一元素為 True ,則函數(shù)返回 True 。注意,當(dāng)該對(duì)象為空時(shí),返回 False 。該函數(shù)等價(jià)于:
def any(iterable):
for element in iterable:
if element:
return True
return False
3、none
def none(lst, fn=lambda x: x): return all(not fn(x) for x in lst) # EXAMPLES none([0, 1, 2, 0], lambda x: x >= 2 ) # False none([0, 0, 0]) # True
none 用于判斷列表 lst 中的元素是否都不符合給定的判斷條件 fn 。
代碼中首先使用生成器表達(dá)式生成一個(gè)生成器,該生成器會(huì)將判斷條件 not fn 應(yīng)用于所有的列表元素上。然后使用 all 函數(shù)判斷迭代器中的元素是否都為 True 。
lst = [0, 1, 2, 0] def fn(x): return x >= 2 type(not fn(x) for x in lst) # <class 'generator'>
到此這篇關(guān)于Python代碼閱讀--列表元素邏輯判斷的文章就介紹到這了,更多相關(guān)Python 列表元素邏輯判斷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Flask框架學(xué)習(xí)筆記之表單基礎(chǔ)介紹與表單提交方式
這篇文章主要介紹了Flask框架學(xué)習(xí)筆記之表單基礎(chǔ)介紹與表單提交方式,結(jié)合實(shí)例形式分析了flask框架中表單的基本功能、定義、用法及表單提交的get、post方式使用技巧,需要的朋友可以參考下2019-08-08
django之session與分頁(yè)(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇django之session與分頁(yè)(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Flask wtforms實(shí)現(xiàn)表單驗(yàn)證使用
本文主要介紹了Flask wtforms實(shí)現(xiàn)表單驗(yàn)證使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
django+uwsgi的部署實(shí)在是太蛋疼了.網(wǎng)上已有的教程似乎有新版本的兼容問(wèn)題。最后跑到uwsgi官網(wǎng)上找的教程終于跑通了.. 不過(guò)官網(wǎng)的教程似乎有引導(dǎo)教學(xué)性質(zhì),部署的時(shí)候就顯得很繞彎路,在這里記錄下來(lái)精簡(jiǎn)內(nèi)容2014-11-11
Python中g(shù)etpass模塊無(wú)回顯輸入源碼解析
這篇文章主要介紹了Python中g(shù)etpass模塊無(wú)回顯輸入源碼解析,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Python如何設(shè)置utf-8為默認(rèn)編碼的問(wèn)題
這篇文章主要介紹了Python如何設(shè)置utf-8為默認(rèn)編碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
python?Pydub簡(jiǎn)單易用的音頻處理庫(kù)使用實(shí)例探索
Pydub是一個(gè)簡(jiǎn)單易用的Python庫(kù),它讓音頻處理變得像處理列表或字符串一樣簡(jiǎn)單,你可以用Pydub來(lái)剪輯、合并、調(diào)整音頻文件,以及執(zhí)行許多其他的音頻處理任務(wù),它支持多種音頻格式,包括常見(jiàn)的MP3、WAV和AAC2024-01-01

