Пересечение в диапазоне чисел Python

Не могу придумать изящного решения для проблемы:

Есть list c крайними значениями диапазона

a = [5,10]

b = [9,15]

как найти, что они имеют общие 9 и 10.

я вижу, как создание из каждого листа range() и перебор вхождений через for, но проблема в том, что когда числа большие, перебор занимает много времени. Есть какие-то интересные решения?


Ответы (1 шт):

Автор решения: splash58

Решение совершенно очевидное, как и во все случаях поиска пересечений двух интервалов: от максимума левых до минимума правых

range(max(a[0],b[0]), min(a[1],b[1])+1, 1)
→ Ссылка