[问题] `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