A suggestion for a possible Python module

Alex Martelli aleax at aleax.it
Tue Mar 4 17:45:08 CET 2003


Terry Reedy wrote:

> 
> "Alex Martelli" <aleax at aleax.it> wrote in message
> news:nKZ8a.2029$zo2.77091 at news2.tin.it...
>> Still, I do think Gries' algorithm would be a good reason to add
>> optional start and stop arguments to Python lists' *reverse*
>> method.  Hmmm...
> 
> Pending such an addition (which I would like) would something using
> the new 2.3 stride feature work? Something like (untested, since I
> don't have 2.3 yet):
> 
> alist[start:stop] = alist[stop:start:-1] # But at least twice as slow
> as in-place reverse

Yes, and the boundaries play strangely...:

>>> x = list('arrivederci')
>>> x[2:7] = x[7:2:-1]
>>> ''.join(x)
'aredevierci'
>>>

x[2:7] being 'rived', one would expect 'ardevirerci' -- but to
get that one needs an ample application of -1's, alas...:

>>> x = list('arrivederci')
>>> x[2:7] = x[7-1:2-1:-1]
>>> ''.join(x)
'ardevirerci'
>>>

Goofy, slow, and error-prone, I think there's little to be said
for this idiom (x[start:stop] = x[stop-1:start-1:-1] in the
general case).


Alex





More information about the Python-list mailing list