亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問這樣為什么不行:print filter(lambda s: len(s.strip()) > 0, ['test', None, '', 'str', ' ', 'END'])

print filter(lambda s: len(s.strip()) > 0, ['test', None, '', 'str', '? ', 'END'])

s為參數,len(s.strip()) > 0 為表達式? 返回值為true或者false,然后由filter判斷

請問這樣理解不對嗎?為什么運行失???

正在回答

3 回答

漏判了s是不是None

0 回復 有任何疑惑可以回復我~
#1

慕用7449124 提問者

哦,但是我不是很明白None的特殊性在哪?也就是為什么S為None時會判斷不了? 我比較小白,麻煩大神解釋一下—_—''
2019-05-06 回復 有任何疑惑可以回復我~
#2

慕仔0082234 回復 慕用7449124 提問者

None是一個特殊的常量,和False不同,也不是0,也不是空字符串,None和任何其他的數據類型比較永遠返回False,None有自己的數據類型NoneType。
2019-05-06 回復 有任何疑惑可以回復我~

list 里面有很多值?

?None? 不是 flase 也不是0 也不是空字符串 所以 他不能用

strip()

處理。

0 回復 有任何疑惑可以回復我~

我覺得當只有len(s.trip())>0作為返回值時,是沒有實際輸出結果的,返回值應該是s and len(s.trip())>0,這里len(s.trip())>0就像條件,條件滿足的s才會被輸出

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

請問這樣為什么不行:print filter(lambda s: len(s.strip()) > 0, ['test', None, '', 'str', ' ', 'END'])

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號