gpt4 book ai didi

Python - 如何检查是否满足多个条件之一,然后具体检查是否满足每个条件?

转载 作者:行者123 更新时间:2023-12-04 14:40:59 47 4
gpt4 key购买 nike

我想知道是否有任何快捷方式可以执行以下操作:

if a or b or c ...
do p
if a
do x
if b
do y
if c
do z
...
else
do q

是否有必要将每个条件输入两次,或者是否有其他方法可以做到这一点?

最佳答案

您的代码没有任何问题,但是如果检查 abc 中的任何一个代价高昂,您可以使用标志相反,只检查一次条件:

flag = False
if a:
flag = True
do x
if b:
flag = True
do y
if c:
flag = True
do z
do (p if flag else q)

我发现这种形式也更具可读性,因为它只有一层缩进,但我想这只是一个偏好问题......


编辑如果p必须在xyz之前执行>,那么您可以存储条件检查的结果:

doers = [x, y, z]
conditions = [check(el) for el in (a, b, c)]
do (p if any(conditions) else q)
tmp = [doers[i] for i, condition in enumerate(conditions) if condition]

(带有 tmp 的行在真正的 for 循环中会更像 pythonic,但我知道你正在优化性能,并且列表理解更快......)

关于Python - 如何检查是否满足多个条件之一,然后具体检查是否满足每个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8640533/

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