У меня есть список дат, из которых я хочу построить сегменты времени. Другими словами, поверните [t0, t1, ... tn]
в [(t0,t1),(t1,t2),...,(tn-1, tn)]
. Я сделал это так:
# start by sorting list of datetimes
mdtimes.sort()
# construct tuples which represent possible start and end dates
# left edges
dtg0 = [x for x in mdtimes]
dtg0.pop()
# right edges
dtg1 = [x for x in mdtimes]
dtg1.reverse()
dtg1.pop()
dtg1.sort()
dtsegs = zip(dtg0,dtg1)
Вопросы...
- Могу ли я рассчитывать на tn-1 < tn для любого (tn-1, tn) после того, как я создал их таким образом? (Сохраняется ли заказ?)
- Хорошо ли копировать исходный список
mdtimes
со списком? Если нет, то как это сделать? -
Целью построения этих кортежей является их перебор и сегмент данных с
tn-1
иtn
. Это разумный подход? то есть.datasegment = [x for x in bigdata if ( (x['datetime'] > tleft) and (x['datetime'] < tright))]
Спасибо