У меня есть список списков, содержащих даты, и я хочу 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)
Может кто-нибудь мне помочь найти пересечение интервалов между датами на каждой итерации? Я не уверен, что эта идея даст мне правильный результат. Есть ли эффективный способ решить эту проблему?