Как циклом Python for пройти несколько (сотен) range?
itertools.chain() и itertools.chain.from_iterable()
Я бы воспользовался библиотекой portion (особенно актуально, если интервалы могут пересекаться)
import portion as P
print(*P.iterate(P.closed(1.2, 6.9)|P.closed(8,11), step=1, base=int))