Find consecutive ranges in a list of numbers.
(self, numbers)
| 89 | stats["top_ranges_str"] = top_ranges_str |
| 90 | |
| 91 | def _find_ranges(self, numbers): |
| 92 | """ |
| 93 | Find consecutive ranges in a list of numbers. |
| 94 | """ |
| 95 | ranges = [] |
| 96 | start = numbers[0] |
| 97 | end = numbers[0] |
| 98 | for num in numbers[1:]: |
| 99 | if num == end + 1: |
| 100 | end = num |
| 101 | else: |
| 102 | ranges.append((start, end)) |
| 103 | start = num |
| 104 | end = num |
| 105 | ranges.append((start, end)) |
| 106 | return ranges |