2024-05-23 22:10:02 发布
网友
我有一个包含整数值的Python列表。举例如下:
p = [10,44,55,33]
现在我想测试列表中是否至少有一个值落在给定的间隔内。例如,如果我们有区间[15,30],它是假的,因为在这个区间中p没有值。如果我们有区间[50,60],它是真的,因为55在这个区间。你知道吗
[15,30]
[50,60]
我的列表中不仅有4个值,如上面的例子所示,还有几十个tousands,所以我搜索最有效的方法。最好的方法是什么?你知道吗
除非你的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]
除非你的p被排序,否则你能做的最好的事情就是扫描p的每一个元素并检查它是否在你的间隔内。你知道吗
你可以这样做:
尝试将^{} 与生成器表达式一起使用:
在第一个检查为真之前,它将只生成同样多的检查。你知道吗
相关问题 更多 >
编程相关推荐