Return a list of Spans creating one new Span for each set of contiguous integer items. For example: >>> span = Span(5, 6, 7, 8, 9, 10) | Span([1, 2]) | Span(3, 5) | Span(3, 6) | Span([8, 9, 10]) >>> span.subspans() [Span(1, 10)] When subspan
(self)
| 452 | return [Span(g) for g in groups] |
| 453 | |
| 454 | def subspans(self): |
| 455 | """ |
| 456 | Return a list of Spans creating one new Span for each set of contiguous |
| 457 | integer items. |
| 458 | |
| 459 | For example: |
| 460 | >>> span = Span(5, 6, 7, 8, 9, 10) | Span([1, 2]) | Span(3, 5) | Span(3, 6) | Span([8, 9, 10]) |
| 461 | >>> span.subspans() |
| 462 | [Span(1, 10)] |
| 463 | |
| 464 | When subspans are not touching they do not merge : |
| 465 | >>> span = Span([63, 64]) | Span([58, 58]) |
| 466 | >>> span.subspans() |
| 467 | [Span(58), Span(63, 64)] |
| 468 | |
| 469 | Overlapping subspans are merged as needed: |
| 470 | >>> span = Span([12, 17, 24]) | Span([15, 16, 17, 35]) | Span(58) | Span(63, 64) |
| 471 | >>> span.subspans() |
| 472 | [Span(12), Span(15, 17), Span(24), Span(35), Span(58), Span(63, 64)] |
| 473 | """ |
| 474 | return Span.from_ints(self) |
no test coverage detected