如何简洁检测多个字符串变量是否全部为空
Python 校验多个变量是否全为空的正确简洁写法
首先要纠正你给出的示例写法存在逻辑问题:在 Python 中,只要元组本身包含元素,不管元素内容是不是空值,整个元组的布尔判定结果都是True,所以if not (a,b,c):的条件永远不会触发,达不到你要的校验效果。
正确的最简洁写法分两种常见场景:
- 要校验的空值是 Python 中所有判定为假的内容(包括空字符串
''、None、0、空列表/字典等),直接用not any()即可:
a = '' b = '' c = '' if not any((a, b, c)): print("All Empty")
- 需要严格校验所有变量都等于空字符串
'',排除None、0等其他假值,就用all()配合规则判定:
if all(i == '' for i in (a, b, c)): print("All are empty strings")
两种写法都不需要拆分写if not a and not b and not c这类冗余判断,后续要增加校验变量时,只需要往元组里加元素即可,维护成本很低。
内容的提问来源于stack exchange,提问作者proc3ss
相关产品推荐
相关产品推荐

