這段代碼是如何排除掉None的
python初級問題2
慕無忌0492270
2018-12-16 12:49:46
TA貢獻2條經(jīng)驗 獲得超0個贊
樓上回答的挺詳細,是根據(jù)函數(shù)的返回值來排除的:???????? ????這里還有個點就是:非布爾值的邏輯運算???????????? ????????1.?對于非布爾值進行邏輯運算(與和或),它是先將其轉(zhuǎn)換為布爾值,然后做邏輯運算???????????? ????????2.?最終返回的是原值??????????????????????? ????????例如:result?=?'test'?and?'str'??#?返回?'str'??????????????????????????? ??????????????result?=?'str'?and?'test'??#?返回?'test'?????????????????????? ??????????????result?=?None?and?'test'?#?返回?None?????????????????????????? ??????????????result?=???''?and?'test'???#?返回???''?????????????????? ?????????????(?例子中,??'test'??和??'str'?轉(zhuǎn)換成布爾值都是True,? ????????????????而??''??,??None?轉(zhuǎn)換成布爾值是False)???????????????????? ?????????可以總結(jié)為?與運算是在找False,???或運算是在找True 對于?return?s?and?len(s.strip())?>?0???? ????s?和?表達式(len(s.strip())?>?0)在做非布爾值的邏輯運算?,再結(jié)合樓上的回答,不知能否理解
TA貢獻1038條經(jīng)驗 獲得超227個贊
filter語法
filter(function or None, sequence) -> list, tuple, or string
第一個參數(shù)是一個函數(shù)或None對象
第二個參數(shù)是個序列對象
返回列表,元組或者字符串
function會依次接收序列的元素作為參數(shù),返回值為true的元素會被留下。
即將第二個參數(shù)中的每個元素作為參數(shù)依次傳入is_not_empty函數(shù),返回真值的元素留下。
舉報