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)文章
一文詳解Python中PO模式的設(shè)計(jì)與實(shí)現(xiàn)
在使用 Python 進(jìn)行編碼的時(shí)候,會(huì)使用自身自帶的編碼設(shè)計(jì)格式,比如說(shuō)最常見的單例模式等。本文將為大家介紹PageObject自動(dòng)化設(shè)計(jì)模式(PO模式)的設(shè)計(jì)與實(shí)現(xiàn),感興趣的可以了解一下2022-06-06python通過(guò)shutil實(shí)現(xiàn)快速文件復(fù)制的方法
這篇文章主要介紹了python通過(guò)shutil實(shí)現(xiàn)快速文件復(fù)制的方法,涉及Python中shutil模塊的使用技巧,需要的朋友可以參考下2015-03-03Python連接mysql數(shù)據(jù)庫(kù)的正確姿勢(shì)
這篇文章主要為大家詳細(xì)介紹了Python連接mysql數(shù)據(jù)庫(kù)的正確姿勢(shì),如何使用Python連接mysql數(shù)據(jù)庫(kù),本文為大家揭曉,感興趣的小伙伴們可以參考一下2016-02-02Python用selenium實(shí)現(xiàn)自動(dòng)登錄和下單的項(xiàng)目實(shí)戰(zhàn)
本文主要介紹了Python用selenium實(shí)現(xiàn)自動(dòng)登錄和下單的項(xiàng)目實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02詳解Ubuntu16.04安裝Python3.7及其pip3并切換為默認(rèn)版本
這篇文章主要介紹了詳解Ubuntu16.04安裝Python3.7及其pip3并切換為默認(rèn)版本,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02通俗的講解深度學(xué)習(xí)中CUDA,cudatookit,cudnn和pytorch的關(guān)系
有些剛?cè)胄械呐笥芽偸歉悴磺宄﨏UDA,cudatookit,cudnn和pytorch的關(guān)系,那么今天這篇文章用通俗易懂的話講解了他們之間的關(guān)系,需要的朋友可以參考下,相信會(huì)對(duì)你有所幫助2023-03-03