Many thanks for the lucid and helpful suggestions. Since my date range was only a few years, I used Some Other Guy's suggestion above, which the forum is saying will be deleted in five days, to make a dictionary of the whole range of dates when the script starts. It was so fast it wasn't even worth saving in a file. Made the script a LOT faster. I guess two thousand function calls must be faster than 200 million? Like maybe a hundred thousand times faster?
I also benefitted from studying the other suggestons. I had actually implemented an on the fly dictionary caching scheme for one of my other calculations. I don't know why it didn't occur to me to do it with the dates, except I think I must be assuming, as a newbie Pythonista, that the less I do and the more I let the libraries do the better off I will be. Thanks for putting me straight. As someone I know said to me when I told him I wanted to learn Python, "the power of Python is in the dictionaries". Funny how long it's taking me to learn that. -- http://mail.python.org/mailman/listinfo/python-list