Jaime Fernandez del Rio wrote:
On Tue, May 12, 2009 at 5:02 PM, MRAB <goo...@mrabarnett.plus.com> wrote:
John Machin wrote:
MRAB <google <at> mrabarnett.plus.com> writes:
Sort the list, passing a function as the 'key' argument. The function
should return an integer for the month, eg 0 for 'jan', 1 for 'feb'. If
you want to have a different start month then add
and if you don't like what that produces, try subtract :-)

Oops!

the appropriate
integer for that month (eg 0 for 'jan', 1 for 'feb') and then modulo 12
to make it wrap around (there are only 12 months in a year), returning
the result.
Actually, subtract the start month, add 12, and then modulo 12.

Both on my Linux and my Windows pythons, modulos of negative numbers
are properly taken, returning always the correct positive number
between 0 and 11. I seem to recall, from my distant past, that Perl
took pride on this being a language feature. Anyone knows if that is
not the case with python, and so not adding 12 before taking the
modulo could result in wrong results in some implementations?

Ah, yes, it's a true modulo! Nice to see that Python gets it right! :-)
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to