Python3中判断可空字典是否存在指定键的问题
Hey,这个问题我熟!直接利用Python的短路求值特性就能一行搞定,既避开None类型的报错,又能准确判断键是否存在:
if form is not None and 'key' in form: # 这里写你要执行的操作
要是你需要直接返回布尔值(存在返回True,否则False),就写成:
result = form is not None and 'key' in form
原理很简单:Python的and运算符是短路求值的——如果前面的form is not None为False,后面的'key' in form根本不会执行,自然就不会触发「NoneType不可迭代」的错误,完美解决你遇到的问题。
要是你反过来想判断「字典是None 或者 不存在指定键」,直接取反或者拆开来写更易懂:
if form is None or 'key' not in form: # Do something
这个写法和取反的逻辑完全等价,看你哪种读着顺就用哪种~
内容的提问来源于stack exchange,提问作者Mehrdad Pedramfar
相关产品推荐
相关产品推荐

