[Python-Dev] Adding an rslice() builtin?
Nick Coghlan
ncoghlan at iinet.net.au
Tue Aug 29 11:29:28 CEST 2006
A discussion on the py3k list reminded me that translating a forward slice
into a reversed slice is significantly less than obvious to many people. Not
only do you have to negate the step value and swap the start and stop values,
but you also need to subtract one from each of the step values, and ensure the
new start value was actually in the original slice:
reversed(seq[start:stop:step]) becomes seq[(stop-1)%abs(step):start-1:-step]
An rslice builtin would make the latter version significantly easier to read:
seq[rslice(start, stop, step)]
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://www.boredomandlaziness.org
More information about the Python-Dev
mailing list