如何以 Python 中的间隔搜索范围
How to search range with intervals in Python
我得到了一个项目,虽然我已经设法让它工作,但它的一部分看起来很乱,我想不出什么是我确定的简单修复方法。我对编程的了解很少,所以大多数 Google 搜索都让我感到困惑,我真的不知道如何定义我想要的东西。任何人都在这里是代码:
(if x in range(25,76) or x in range(125,176) or x in range(225,276) or
x in range(325,376) or x in range(425,476) or x in range(525,576) or
x in range(625,676) or x in range(725,776)):
我想您可以看到我正在尝试做什么,但我每次都必须将其列为单独的范围,非常感谢您的帮助!
缩短大量 or
的一个选项是使用 any
,例如:
if any(x in range(start, end) for start, end in [(25, 76), (125, 176), ...]):
或者只使用算术,如果值总是整数:
if any(start <= x < end ...):
或者,由于您似乎有一个规则的范围模式(即在每百个 25
和 76
之间),您可以使用模数 (%
) 去除数百个:
if x % 100 in range(25, 76):
如果这是固定上限,则添加 x < 776
我得到了一个项目,虽然我已经设法让它工作,但它的一部分看起来很乱,我想不出什么是我确定的简单修复方法。我对编程的了解很少,所以大多数 Google 搜索都让我感到困惑,我真的不知道如何定义我想要的东西。任何人都在这里是代码:
(if x in range(25,76) or x in range(125,176) or x in range(225,276) or
x in range(325,376) or x in range(425,476) or x in range(525,576) or
x in range(625,676) or x in range(725,776)):
我想您可以看到我正在尝试做什么,但我每次都必须将其列为单独的范围,非常感谢您的帮助!
缩短大量 or
的一个选项是使用 any
,例如:
if any(x in range(start, end) for start, end in [(25, 76), (125, 176), ...]):
或者只使用算术,如果值总是整数:
if any(start <= x < end ...):
或者,由于您似乎有一个规则的范围模式(即在每百个 25
和 76
之间),您可以使用模数 (%
) 去除数百个:
if x % 100 in range(25, 76):
如果这是固定上限,则添加 x < 776