merge_ranges¶
- merge_ranges(ranges: list[tuple[float | int]]) Generator[list[tuple[float]], None, None][source]¶
Merge overlapping and adjacent ranges and yield the merged ranges in order. The argument must be an iterable of pairs (start, stop).
- Parameters:
ranges -- List of tuples of two numbers defining ranges
- Returns:
Generator yielding tuples of merged ranges
>>> list(merge_ranges([(5,7), (3,5), (-1,3)])) [(-1, 7)] >>> list(merge_ranges([(5,6), (3,4), (1,2)])) [(1, 2), (3, 4), (5, 6)] >>> list(merge_ranges([])) []
Gareth Rees 02/2013