[問題] `in None` 的 exception 怎麼避免?

作者: ggirls (哥)   2018-08-20 12:21:42
for e in es:
if 'a' in e:
print(e)
上面的程式,e 有可能是 None,所以 if 'a' in e: 會發生 Exception
一種是用 if !e: 先把這種情況濾掉;一種是抓這種 Exception 再處理。
請問還有別的比較簡潔的方法嗎?
作者: TitanEric (泰坦)   2018-08-20 12:24:00
if e is None就可以
作者: Yshuan (倚絃)   2018-08-20 13:06:00
別用!e 假如是0,False,[],() 這些會混淆從'a' in e來看, 期許字串可用 isinstance(e, basestring)
作者: s860134 (s860134)   2018-08-20 13:11:00
if e and 'a' in e:因為原本條件就已經限制 e 中包含 'a',故前面只要確定 e不是 None 就好了,當然這寫法在特殊情形下是錯的
作者: handsomeLin (DoGLin)   2018-08-20 15:57:00
請善用and

Links booklink

Contact Us: admin [ a t ] ucptt.com