如何用 Python 在一行中测试多个模值?
How to test several modulo values in one line with Python?
假设我有一个值可能在 [28,32] 范围内或该范围内数字的倍数。
有没有一种方法可以使用模运算符在一行中对此进行测试?
尝试过:
if value % (28 or 29 or 30 or 31 or 32) == 0:
# do stuff
还有一些类似的变化。我试图搜索,因为我确定这是一个常见的操作,但我找不到答案。
您可以使用any
来检查多个相似表达式的真实性:
if any(value % n == 0 for n in (28, 29, 30, 31, 32)):
这是 any
的工作
if any( value % m == 0 for m in range(28,33) ):
#do stuff
假设我有一个值可能在 [28,32] 范围内或该范围内数字的倍数。
有没有一种方法可以使用模运算符在一行中对此进行测试?
尝试过:
if value % (28 or 29 or 30 or 31 or 32) == 0:
# do stuff
还有一些类似的变化。我试图搜索,因为我确定这是一个常见的操作,但我找不到答案。
您可以使用any
来检查多个相似表达式的真实性:
if any(value % n == 0 for n in (28, 29, 30, 31, 32)):
这是 any
if any( value % m == 0 for m in range(28,33) ):
#do stuff