检查值是否在内

2024-05-23 22:10:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含整数值的Python列表。举例如下:

p = [10,44,55,33]

现在我想测试列表中是否至少有一个值落在给定的间隔内。例如,如果我们有区间[15,30],它是假的,因为在这个区间中p没有值。如果我们有区间[50,60],它是真的,因为55在这个区间。你知道吗

我的列表中不仅有4个值,如上面的例子所示,还有几十个tousands,所以我搜索最有效的方法。最好的方法是什么?你知道吗


Tags: 方法列表间隔整数例子区间举例个值
3条回答

除非你的p被排序,否则你能做的最好的事情就是扫描p的每一个元素并检查它是否在你的间隔内。你知道吗

你可以这样做:

any( interval_low <= i <= interval_high for i in p )

尝试将^{}与生成器表达式一起使用:

>> any(50 < e < 60 for e in p)
True

在第一个检查为真之前,它将只生成同样多的检查。你知道吗

p = [10,44,55,33]
i = [10,50]

sol = list(filter(lambda x: x in range(i[0],i[1]+1),p))
# output [10, 44, 33]

相关问题 更多 >