2024-06-07 08:36:53 发布
网友
我想在一个轴限制为(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有一些简洁的表达方式。有人能告诉我吗?你知道吗
如果你真的想开始用煤气做饭,可以创建一个类库来处理3D点(例如,通过扩展这个类库来包含Z坐标:Making a Point Class in Python)。你知道吗
然后可以将上述解决方案封装到类的方法中,如下所示:
def isInBox(self, p1, p2): return (p1.X <= self.X <= p2.X and p1.Y <= self.Y <= p2.Y and p1.Z <= self.Z <= p2.Z)
operator chaining的典型情况:
if not (xmin <= xi <= xmax and ymin <= yi <= ymax and zmin <= zi <= zmax):
它不仅简化了比较,允许删除括号,同时保持可读性,而且只对中心参数进行一次计算,这在与函数的结果进行比较时特别有趣:
if xmin <= func(z) <= xmax:
(因此,如果func有副作用,就不等于2次比较)
func
如果你真的想开始用煤气做饭,可以创建一个类库来处理3D点(例如,通过扩展这个类库来包含Z坐标:Making a Point Class in Python)。你知道吗
然后可以将上述解决方案封装到类的方法中,如下所示:
operator chaining的典型情况:
它不仅简化了比较,允许删除括号,同时保持可读性,而且只对中心参数进行一次计算,这在与函数的结果进行比较时特别有趣:
(因此,如果
func
有副作用,就不等于2次比较)相关问题 更多 >
编程相关推荐