Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Yield from range() solution in Clear category for Expand Intervals by Merzix
from typing import Iterable
def expand_intervals(items: Iterable) -> Iterable:
for start, end in items:
yield from range(start, end + 1)
if __name__ == '__main__':
assert list(expand_intervals([(1, 3), (5, 7)])) == [1, 2, 3, 5, 6, 7]
assert list(expand_intervals([(1, 3)])) == [1, 2, 3]
assert list(expand_intervals([])) == []
assert list(expand_intervals([(1, 2), (4, 4)])) == [1, 2, 4]
Dec. 12, 2018