Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
One-liner with itertools.chain.from _iterable solution in Clear category for Expand Intervals by Ulukai85
from typing import Iterable
from itertools import chain
def expand_intervals(items: Iterable) -> Iterable:
return list(chain.from_iterable(range(a, b + 1) for a, b in items))
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. 12, 2020