首页 > 解决方案 > python中if多个条件的简化

问题描述

我想在一个矩形框中挑选出一些项目,其轴限制为 (xmin, xmax, ymin, ymax, zmin, zmax)。所以我使用以下条件,

if not ((xi >= xmin and xi <= xmax) and (yi >= ymin and yi <= ymax) and (zi >= zmin and zi <= zmax)):
    expression 

但我认为python有一些简洁的方式来表达它。有人可以告诉我吗?

标签: pythonif-statement

解决方案


运算符链接的典型案例:

if not (xmin <= xi <= xmax and ymin <= yi <= ymax and zmin <= zi <= zmax):

它不仅简化了比较,允许删除括号,同时保持可读性,而且中心参数只计算一次,这在与函数的结果进行比较时特别有趣:

if xmin <= func(z) <= xmax:

func(所以如果有副作用,它不等于 2 次比较)


推荐阅读