请python语言写出多个区间取交集的函数
时间: 2023-11-18 07:03:40 浏览: 53
下面是一个 Python 函数,用于计算多个区间的交集:
```python
def intervals_intersection(intervals):
"""
计算多个区间的交集
intervals: 一个列表,包含多个区间,每个区间用列表表示 [start, end]
返回值: 返回所有区间的交集,如果没有交集则返回空列表 []
"""
if not intervals:
return []
result = intervals[0]
for interval in intervals[1:]:
result = interval_intersection(result, interval)
if not result: # 如果结果为空列表,则直接返回
return result
return result
```
这个函数接收一个列表作为参数,列表中的每个元素都是一个列表,表示一个区间。函数返回所有区间的交集,如果没有交集则返回空列表。
这个函数内部调用了之前提到的 `interval_intersection` 函数,用于计算两个区间的交集。
使用方法:
```python
>>> intervals_intersection([[1, 5], [3, 8], [4, 6]])
[4, 5]
>>> intervals_intersection([[1, 5], [6, 8], [9, 10]])
[]
>>> intervals_intersection([[1, 5], [1, 5], [1, 5]])
[1, 5]
```