python - 测试某个数字是否在范围列表内

标签 python list range

我如何测试某个数字超出范围列表的次数?

示例:

value = 1
Ranges_array = [[0, 2], [2, 4], [0, 3]]
output = 1

因此,生成的输出将是 1,因为只有一个范围内的值不在 1 之内。

最佳答案

好吧,这些实际上不是范围,而是二元素列表。您可以像其他答案一样使用手动比较,但在我的答案中,我将它们变成了实际的 Range 对象。

由于 Python 的 range(a,b) 构造函数在 a 处包含在内(即 a 在范围内)并且在b(b 超出范围),如果您希望它们都包含或不包含,则必须向其中一个端点加 1。我假设你想要包容性,所以在高端点上加了 1:

sum(1 for a,b in Ranges_array if value not in range(a,b+1))

关于python - 测试某个数字是否在范围列表内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46937928/

相关文章:

Python:如何创建一个包含图像中每个像素信息的数组?

python - Apache:在 ubuntu 14.04 服务器上运行的 Apache 上的 python 代码执行错误

python - 使用另一个列表从数据帧列表添加数据帧

prolog - 在 Prolog 中创建范围规则

python - 如果 set 为空,则返回 bool 值

python - 当子类和父类都满足祖 parent 类型定义时,为什么 mypy 会报告类型不兼容?

list - 如何在 swift 中将回调函数传递给 sqlite3_exec?

c - 带有 bug 的链表的哈希表

arrays - 在 VBA 函数中从范围切换到数组并返回

database - 范围变量隐藏封闭 block LINQ 中的变量