Проверяйте и находите пересечения интервалов дат на каждой итерации, используя python - PullRequest
0 голосов
/ 07 августа 2020

У меня есть список списков, содержащих даты, и я хочу l oop этот список и находить на каждой итерации верхнюю и нижнюю границу пересечения интервалов (если оно существует). Мой список выглядит так:

F=[[start_date,end_date], [start_date, end_date], [start_date, end_date], [start_date, end_date]]

Я хочу попробовать этот алгоритм, но не знал, как express как верхнюю, так и нижнюю границу:

for i in range(0, len(F)-1):
    start1=F[i][0]
    end1=F[i][1]
    start2=F[i+1][0]
    end2=F[i+1][1]
    N=np.sort(np.array([start1, end1, start2, end2]))
    if (start1 <= start2 <= end1 ) or (start2 <= start1 <= end2):  #if there is an intersection
       if (start1 == start2) and (end1 <end2 ):
           start1 = min(N)
           end1=max(intersection) #upper bound of interval intersection
           start2 = end1
           end2 =max(N)
       else : 
           start1 = min(N)
           end1=min(intersection) #lower bound of interval intersection
           start2 = end1
           end2 =max(N)


Может кто-нибудь мне помочь найти пересечение интервалов между датами на каждой итерации? Я не уверен, что эта идея даст мне правильный результат. Есть ли эффективный способ решить эту проблему?

...