比如说有三条数据,1-3 ,3-5 ,5-8我要查询包含4-6其中一个数的数据
时间: 2024-02-05 08:14:11 浏览: 22
查询sql数据库每张表包含的数据条数
3星 · 编辑精心推荐
对于这种查询需求,可以使用两种方法:
1. 遍历每个数据,检查它是否包含4-6其中一个数。
2. 使用数据结构(例如树、哈希表等)将数据存储起来,以便更高效地进行查询。
以下是第一种方法的示例代码:
```python
data = [(1, 3), (3, 5), (5, 8)]
query_range = (4, 6)
result = []
for d in data:
if d[0] <= query_range[0] <= d[1] or d[0] <= query_range[1] <= d[1]:
result.append(d)
print(result)
```
输出结果为:`[(3, 5), (5, 8)]`
使用第二种方法,首先需要将数据存储到一个数据结构中。这里以哈希表为例:
```python
data = [(1, 3), (3, 5), (5, 8)]
query_range = (4, 6)
hash_table = {}
for d in data:
for i in range(d[0], d[1]+1):
if i not in hash_table:
hash_table[i] = [d]
else:
hash_table[i].append(d)
result = []
for i in range(query_range[0], query_range[1]+1):
if i in hash_table:
result += hash_table[i]
print(list(set(result)))
```
输出结果为:`[(3, 5), (5, 8)]`
阅读全文