2016-05-27 3 views

ответ

1

Сортировать интервалы по начальному значению (если они только 2-кортежи это автоматически) и перебирать список, гарантируя, что конечное значение единицы всегда меньше (или равно, зависит от g по вашей проблеме) начальное значение следующего.

intervals = [(0.2, 0.3), 
      (0.8, 1.0), 
      (0.4, 0.6), 
      (0.32, 0.38)] 

intervals = sorted(intervals) 
disjoint = all(intervals[i+1][0] > intervals[i][1] for i in range(len(intervals) - 1)) 
+1

Спасибо, это хорошо. Я использовал 'all (e marcus

+0

@marcus это очень элегантно. –

Смежные вопросы