On Wed, Aug 12, 2015 at 10:43 AM, Ltc Hotspot <ltc.hots...@gmail.com> wrote: > Python can pull the hour from the 'From ' line by finding the time and then > splitting the string a second time using a colon, i.e., From > stephen.marqu...@uct.ac.za Sat Jan 5 09:14:16 2008 > > Finally, accumulated the counts for each hour, print out the counts, sorted > by hour as shown below:
In that case, you want to sort the entire collection, not a single key-value pair. It seems to me you can do this fairly efficiently with collections.Counter. import collections with open(raw_input("Enter file name: ")) as f: counts = collections.Counter(line.split()[5].rstrip() for line in f if line.startswith("From ")) counts = counts.items() counts.sort() for hour, count in counts: print hour, count The most important part is getting items() and then sorting the whole thing. ChrisA -- https://mail.python.org/mailman/listinfo/python-list