gpt4 book ai didi

python - 具有潜在缺失值的多重不等式 (a < b < c...)

转载 作者:行者123 更新时间:2023-11-28 20:06:00 25 4
gpt4 key购买 nike

我想一次测试多个不等式,即

if (a < b < c < ...)

当所有值都存在时,这很好。然而,有时要比较的一个或多个变量的数值可能丢失/未知;在我的上下文中,正确的行为是假设相关的不等式得到满足。假设我分配特殊值 None当值未知时:我希望从 < 得到的行为运算符(或替代)是:

>>> a = 1; b = 2; c = 3
>>> a < b < c # this works fine, obviously
True
>>> b = None
>>> a < b < c # would like this to return True
False

所以我想得到True如果一个变量真的比另一个小,或者如果一个变量丢失(采用任何特定的预先确定的非数值),或者如果两个变量都丢失,我希望能够将比较串在一起,即a < b < c < ...
我也想用 <= 来做这个以及< .
谢谢

最佳答案

你想测试你的序列 - 禁止未定义的值 - 是否按升序排列:

import operator

def isAscending(strictly, *seq):
cmp_op = operator.lt if strictly else operator.le
seq = [e for e in seq if e is not None]
return all(cmp_op(a, b) for a, b in zip(seq, seq[1:]))

a, b, c = 1, None, 2
print isAscending(True, a, b, c) # strictly ascending ?

针对拼写进行编辑,并按照建议使用比较运算符。

关于python - 具有潜在缺失值的多重不等式 (a < b < c...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25665441/

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