John Machin wrote: > On Nov 8, 6:06�pm, indika <[EMAIL PROTECTED]> wrote: > > Hi, > > I'm a newbie to python but have some experience in programming. > > So work through the Python tutorial, to find out how it all hangs > together ... this will be much better than trying to translate > snippets of language X into Python. > > > > I came across this requirement of using datetime.date objects > > associated with some another object. > > eg. a dictionary containing datetime.date => string > > > > { > > datetime.date(2001, 12, 3): 'c', > > datetime.date(2001, 12, 1): 'a', > > datetime.date(2001, 12, 2): 'b' > > > > } > > > > However, the sorting of the dict is not user configurable. > > So don't use a dict. > > > �The > > desired behavior would be to provide a datetime.date comparison > > function to do the sorting(eg. STL map). This may seem a trivial > > question but I couldn't figure out a way. > > datetime.date objects (like almost all objects) already have > comparison methods built-in. What you need is code to use them. For > applications like "what was the interest rate on date x" or "what are > the slope and intercept of a piecewise-linearly-continuous tax table > for a taxable income of x": > > Have two parallel lists, keys and values, in keys order. Use a > function from the bisect module to find (e.g.) the largest i such that > keys[i] <= x. If such an i exists, your answer is values[i]. >
thanks. > > Or else, I would have expected the datatime.date object has a > > writeable data member, so that iterating a calender with > > itermonthdates would allow me to access that data member. > > Sorry, I can't begin to guess what you mean by that. I was referring to something like this eg. in an Image processing lib struct Image { char* p_Data; // image data int i_DataLen; // length of data void* p_UserData; // user attaches whatever } If the lib user attaches some struct related to image name, file location ... to p_UserData whenever a Image* is passed around the user has access to those. Similarly, if a datetime.date object had an attribute which the user can access he could d1 = datetime.date.(2008, 1, 1) d1.UserData = x1 // hypothetical d2 = datetime.date.(2008, 1, 2) d2.UserData = x2 // hypothetical mylist.append([d1, d2]) Hope i'm making some sense :-) -- http://mail.python.org/mailman/listinfo/python-list