Пересечение в диапазоне чисел 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)