【发布时间】:2021-10-27 08:57:55
【问题描述】:
我有以下 Python if 语句:
if element1 in list[2] or element2 in list[2] or 3 in list[2]:
do some more if-statements...
else:
print something...
是否可以打印(或以某种方式获取)满足哪些或条件(如果有的话)?因为 if 子句中还有其他 if 语句,所以我不想使用三个不同的 if 语句,这将是一种解决方案。但这最终会出现在近 12 种不同的 if 语句中。我只想记录满足哪个条件以进行进一步分析。我当然搜索了谷歌,但没有找到任何东西。 提前致谢。
编辑: 用例:尝试使用“AND”和“OR”函数实现搜索算法。我敢肯定可以写得更好更干净,但现在算什么有效;-)
【问题讨论】:
-
Python 在使用 or 语句时会做这种神奇的事情,称为短路。这意味着如果第一个语句(在您的情况下 list[2] 中的 element1)为 True,则 if 中的其他语句将被忽略,因为它始终返回 True。因此,没有办法完全按照您的意愿行事。我建议首先按照 MadPhysicist 的建议对它们进行评估(如果您真的需要知道哪些值是 T/F)。
标签: python if-statement conditional-statements