如何在Python中使用间隔搜索范围

时间:2015-11-10 13:53:58

标签: python range

我已经获得了一个项目,虽然我设法让它上班,但其中一部分看起来非常混乱,我无法想到我确定的是什么简单修复它。我对编程的了解很少,因此大多数谷歌搜索它都让我很困惑,而且我真的不知道如何定义我想要的东西。这里的任何人都是代码:

(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)):

我认为您可以看到我尝试做的事情,但我每次都必须将其列为单独的范围,非常感谢帮助!

1 个答案:

答案 0 :(得分:5)

缩短大量or的一个选项是使用any,例如:

if any(x in range(start, end) for start, end in [(25, 76), (125, 176), ...]):

或者只是使用算术,如果值总是整数:

if any(start <= x < end ...):

或者,由于您似乎有一个常规的范围模式(即每百个2576之间),您可以使用模数(%)去除数百个:

if x % 100 in range(25, 76):

并添加x < 776,如果这是一个固定的上限