gpt4 book ai didi

python - if/yield cascade - 如何使更简洁?

转载 作者:行者123 更新时间:2023-11-28 22:47:27 24 4
gpt4 key购买 nike

我在一个函数中有很多连续的语句,如下所示:

if condition1:
yield x
else:
yield None

if condition2:
yield y
else:
yield None

...

有没有办法让这种代码更简洁?

最佳答案

使用 conditional expressions会使它更简洁:

yield x if condition1 else None
yield y if condition2 else None

或者如果您有很多(值,条件)对并且不介意预先评估所有条件:

for val, cond in [(x, condition1), (y, condition2)]:yield val if cond else None

注意:答案的第二部分由于以下评论中给出的原因而受到影响。

关于python - if/yield cascade - 如何使更简洁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26223479/

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