gpt4 book ai didi

python - 具有 2 个变量和 4 个条件的 IF 语句

转载 作者:行者123 更新时间:2023-12-01 02:30:24 25 4
gpt4 key购买 nike

我有 2 个变量,例如 xy,我需要检查其中哪个是None

if x is None and y is None:
# code here
else:
if x is not None and y is not None:
# code here
else:
if x is None:
# code here
if y is None:
# code here

有更好的方法吗?
我正在寻找更短的 IF ELSE 结构。

最佳答案

保留您使用的顺序:

if x is None and y is None:
# code here for x = None = y
elif x is not None and y is not None:
# code here for x != None != y
elif x is None:
# code here for x = None != y
else:
# code here for x != None = y

修改顺序以减少 bool 计算:

if x is None and y is None:
# code here for x = None = y
elif x is None:
# code here for x = None != y
elif y is None:
# code here for x != None = y
else:
# code here for x != None != y

在 4 种情况下,您应该考虑哪个选项的概率较高,哪个选项的概率较高,并保留前两个选项,因为这将减少执行期间检查的条件数量。最后两个选项都会执行 3 个条件,因此这两个选项的顺序并不重要。例如,上面的第一个代码认为 prob(x=None & y=None) > prob(x!=None & y!=None) > prob(x=None & y!=None) ~ prob(x!=None & y=None)而第二个则认为prob(x=None & y=None) > prob(x=None & y!=None) > prob(x!=None & y=None) ~ prob(x!=None & y!=None)

关于python - 具有 2 个变量和 4 个条件的 IF 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46890548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com