Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
two equivalent solutions solution in Clear category for Expand Intervals by gtff
import itertools
from typing import Iterable
def expand_intervals(items: Iterable) -> Iterable:
## solution using itertools
# return itertools.chain.from_iterable(range(start, stop + 1) for start, stop in items)
## solution using yield from
for start, stop in items:
yield from range(start, stop + 1)
if __name__ == '__main__':
print("Example:")
print(list(expand_intervals([(1, 3), (5, 7)])))
# These "asserts" are used for self-checking and not for an auto-testing
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]
print("Coding complete? Click 'Check' to earn cool rewards!")
Nov. 6, 2020
Comments: