Morten Juhl Johansen said unto the world upon 16/09/06 08:29 AM: > # Newbie warning > I am making a timeline program. It is fairly simple. > I base it on appending lists to a list. > Ex. > [[year1, "headline1", "event text1"], [year2, "headline2", "event text2"]] > > This seemed like a brilliant idea when I did it. It is easy to sort. > Now, if I want to OUTPUT it, how do I indicate that I want to extract > first entry in a list in a list? How do I print the separate entries? > > Yours, > Morten >
Hi Morten, Andrei answered the question you asked; I'd like to make a suggestion involving a bit of reworking. You might think about structuring your timeline data as a dictionary, rather than a list. So: >>> timeline_data = { ... 800: ["Charlemagne Crowned Holy Roman Emperor", 'event_text'], ... 1066: ["Battle at Hastings", 'event_text']} This makes it very easy to access a given year's data: >>> timeline_data[800] ['Charlemagne Crowned Holy Roman Emperor', 'event_text'] and >>> timeline_data[800][0] 'Charlemagne Crowned Holy Roman Emperor' will get you the headline alone. You expressed a liking for the lists as they are easy to sort. On recent versions of python one can easily obtain a sorted list of dictionary keys, too: >>> d = {1:2, 3:4, 43545:32, -3434:42} >>> d {1: 2, 3: 4, -3434: 42, 43545: 32} >>> sorted(d) [-3434, 1, 3, 43545] >>> (Older versions of Python can do the same, but with a bit more keyboard action.) So, if you wanted to print the headlines in increasing year order: >>> for year in sorted(timeline_data): ... print timeline_data[year][0] ... Charlemagne Crowned Holy Roman Emperor Battle at Hastings >>> 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). Best wishes, Brian vdB _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor