washakie wrote: > Yes, I'm using 2.4, and will not likely be able to upgrade... so, the final, > as you suggested Kent: > > > dates_dt=([datetime.datetime(int(dates_list[i][0][:4]),int(dates_list[i][0][4:6]), > > int(dates_list[i][0][6:8]),int(dates_list[i][0][8:10]), > > int(dates_list[i][0][10:12]),int(dates_list[i][0][12:])) > for i in range(len(dates_list))])
You don't need the outermost parentheses here. > > TstartNew=sorted(dates_dt,key=lambda d: abs(Tstart - d))[0] > Tstart_i=dates_dt.index(TstartNew) > TendNew=sorted(dates_dt, key=lambda d: abs(Tend -d))[0] > Tend_i=dates_dt.index(TendNew) > > This definitely seems to cleanest way... thank you! One question, how would > this handle duplicates in the dates_dt list? index() will return the first found element. If you want Tend_i to be the last match you will have to write your own rindex() function. Some suggestions are here: http://groups.google.com/group/comp.lang.python/browse_thread/thread/b25cb46b54cc5ee5/120d04e029e934c5?hl=en&lnk=gst This one looks good to me: def rindex(seq, item): for pos, el in enumerate(reversed(seq)): if item == el: return len(seq) - 1 - pos else: raise ValueError("rindex(list, item): item not in list") Kent _______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
