Python项目多层嵌套if条件语句简化方法咨询
Python if 语句简化方案
方案1:字典映射(推荐,易维护)
利用字典的键值对应关系直接映射y到z的取值,后续需要调整对应规则时只需要修改字典内容即可:
if x == 'C': # 定义y到z的映射关系 y_to_z = {1: 1, 2: 2, 3: 3, 4: 1, 5: 2} # 可在get方法第二个参数传入y不在映射范围内的默认取值,比如y_to_z.get(y, 0) z = y_to_z.get(y)
方案2:模运算简化(适用规则固定的场景)
观察对应规则可以发现,z的取值恰好符合y对3取模的规律,模为0时取值为3,其他情况直接取模结果即可:
if x == 'C': z = y % 3 if y % 3 != 0 else 3
注意事项
原代码中如果y的取值不在1-5的范围内,z不会被赋值,上述两种方案如果要完全对齐原逻辑,可以额外增加y的取值范围判断,避免意外赋值。
内容的提问来源于stack exchange,提问作者morax
相关产品推荐
相关产品推荐

