It's not pretty, but this is what seems to work... I'd be happy hear more about a better approach... I like the idea of using a list, but ran into troubles with min and max, maybe I don't entirely understand the lambda function, but when I tried a list, I got an error that min() has no optional variable 'key' or something along those lines...
Using a technique from: http://www.daniweb.com/code/snippet806.html def find_key(dic, val): """return the key of dictionary dic given the value""" return [k for k, v in dic.iteritems() if v == val][0] dates_dt={} for i in range(len(dates_list)): dates_dt[i]=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:])) TstartNew=sorted(dates_dt.values(),key=lambda d: abs(Tstart - d))[0] Tstart_i=find_key(dates_dt,TstartNew) TendNew=sorted(dates_dt.values(), key=lambda d: abs(Tend -d))[0] Tend_i=find_key(dates_dt,TendNew) try: TF=file(os.path.join(TMP_DIR,'dates_file'),'w') if userInput['animation']=='movie': for i in range(Tstart_i,Tend_i): TF.write("%s\n" % dates_dt[i].strftime("%Y%m%d%H0000")) else: TF.write("%s\n" % time_begin ) TF.close() -- View this message in context: http://www.nabble.com/seek-and-slice-a-range-in-a-list-of-dates-tp15389997p15392327.html Sent from the Python - tutor mailing list archive at Nabble.com. _______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
