is_not_empty返回None的時候,filter作何處理?
有個不明白的地方:filter函數在處理列表時,如果is_not_empty返回的既不是True,也不是False,而是None時,會把None看作與False等價么?
>>>?def?is_not_empty(s): ????return?s?and?len(s.strip())?>?0 >>>?list(filter(is_not_empty,?['test',?None,?'',?'str',?'??',?'END'])) ['test',?'str',?'END']
這個例子的結論好像是這樣的。下面的測試顯示,給is_not_empty傳入None時,返回的也是None
>>>?s?=?['abc',?None] >>>?is_not_empty(s[0]),?is_not_empty(s[1]) (True,?None)
第一段code顯示filter返回的list里把None剃掉了。。
2015-05-07
python對Node,空白字符,都認為是false,所以Node返回-1過濾掉了