Python 的all, any是非常便捷的進(jìn)行邏輯判斷的函數(shù)辩恼,里面的參數(shù)需要是iterable雇庙,對(duì)于兩個(gè)函數(shù)的介紹網(wǎng)上有比較多的資源,但其邏輯判斷灶伊,最終輸出結(jié)果 大都卻是各種排列組合疆前,為了方便記憶,這里進(jìn)行一下總結(jié)(沒有閱讀源碼)聘萨,只做輔助記憶
all() 函數(shù):
可以認(rèn)為是 與 操作竹椒,目的是將參數(shù)的所有元素進(jìn)行邏輯與的判斷,最終輸出結(jié)果米辐。這個(gè)時(shí)候就可以思考了胸完,在內(nèi)部實(shí)現(xiàn)時(shí)书释,怎么來實(shí)現(xiàn)邏輯與呢?如果要你自己來寫代碼赊窥,一個(gè)最簡(jiǎn)單的方式就是對(duì)參數(shù)進(jìn)行迭代爆惧,當(dāng)遇到False或0等時(shí),返回False锨能。迭代完畢扯再,說明參數(shù)里面沒有False,所以返回True址遇。這樣當(dāng)參為空時(shí)熄阻,自然而然輸出就是True了
all.png
any() 函數(shù):
可以認(rèn)為是 或 操作,將所有參數(shù)進(jìn)行邏輯或操作傲隶,同上饺律。 在編碼實(shí)現(xiàn)時(shí)窃页,迭代時(shí)跺株,當(dāng)遇到True或非0 等時(shí),返回True脖卖。迭代完畢沒有返回說明這時(shí)參數(shù)里面沒有True乒省,此時(shí)返回False
any.png