Brian van den Broek wrote: > Kent Johnson said unto the world upon 16/09/06 04:35 PM: >> Brian van den Broek wrote:
>>> You say you are new to Python. Well, it might not now be obvious why >>> dictionaries are especially useful, but they are *central* to the >>> pythonic approach. The sooner you become comfortable with them, the >>> better (IMHO). >> I agree that dicts are extremely useful, but I don't think they add >> anything in this case unless there is actually a need for keyed access. >> A list of lists (or tuples) seems very appropriate to me. A good >> alternative might be a list of Bunches. >> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52308 >> >> Kent > > > Hi Kent and all, > > I should have included the reason why I thought a dict might be better > here. (I did send it in a private email after the post.) > > A lot of ways I could imagine the time-line data being used might > involve wanting to access some one year, rather than the entire time-line. Yes, I was a bit hasty in denouncing dicts, the best data structure does depend entirely on how it is to be used, and we don't know enough about this application to know. > >>> print timeline_data[800][0] > > seems *way* better than something like: > > >>> for year_data in timeline_data_as_list_of_lists: > ... if year_data[0] == 800: > ... print year_data[1] > ... break > > which would be what the original list structure seems to require. The thing is, though, how will you know that 800 is a valid year? You need a list of valid years. If you get that list from the dict keys, and iterate that, you haven't really gained anything over a list of tuples. Maybe you have a lot of items and the user enters a year and you want to print out the data you have on the year... Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor