On Feb 6, 2:41 pm, Stephen Hansen <apt.shan...@gmail.com> wrote:
> > I think there may have been a misunderstanding.  I was already using
> > attrgetter, my problem is that it doesn't appear to be sorting by the
> > argument i give it.  How does sort work with strings?  How about with
> > datetime.time or datetime.date?
>
> You were using the attrgetter, but it looks like you weren't doing it 
> correctly:
>
>     timesheets.sort(key=operator.attrgetter('string'))
>
> You don't specify a type, be it string or date or anything: you
> specify the /name/ of the attribute to get. It'll handle sorting by
> any data type that has an order to it without you having to worry
> about it at all. Strings, ints, dates, times.
>
> It should be:
>
>    timesheets.sort(key=operator.attrgetter("department"))
>
> If you want to sort by the value of the "department" attribute, which
> happens to be a string.
> If you want to sort by the "date" attribute, which happens to be a
> datetime.date, you do:
>    timesheets.sort(key=operator.attrgetter("date"))
>
> Where date is not a datatype a la datetime.date, but the name of an
> attribute on your TimeSheet instances.
>
> --S

Yeah this i totally understand.  In my code i was using attrgetter
correctly, in the above answer i used string to represent the datatype
of the attribute, not what i actually put in there.  More my laziness
than anything else.  The problem boiled down attrgetter taking
multiple arguments in 2.5, but only one in 2.4.  Thanks for the input
though.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to