On Fri, 07 Sep 2007 06:57:35 -0700, cjt22 wrote: > I have a step class and store in a list step instances > A step instance contains variables: name, startTime etc and startTime > is stored as a string %H:%M:%S > > What I would like to do is to be able to sort this list of objects > based on the startTime object so that the first item in the list is > the object with the earliest Start time and last item is the object > with the last Start time. > > I belive my key has to be = strpTime(step.sTime, "%H:%M:%S") > But don't know how to create the comparison funciton. > > Any help on how I can perform this whole operation would be much > appreciated.
This should be enough:: steps.sort(key=lambda s: s.startTime) If you sort strings of the form 'hh:mm:ss' the represented times are sorted chronological. No need to convert them to a number first. If the "natural" sort criterion for `Step` objects is the start time you might override `__cmp__()` of `Step`\s instead:: def __cmp__(self, other): return cmp(self.startTime, other.startTime) Now you can just sort the list with ``steps.sort()``. Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list