Why Python does *SLICING* the way it does??

Raymond Hettinger vze4rx4y at verizon.net
Thu Apr 21 05:46:26 EDT 2005


> > [Antoon Pardon]
> >> I don't see why the start index can't be accessible through
> >> a method or function just like the length of a list is now.
> >>
> >> My favourite would be a range method so we would have
> >> the following idiom:
> >>
> >>   for i in lst.range():
> >>     do something with lst[i]
> >
> > After going to all that trouble, you might as well also get the value at
that
> > position:
> >
> > for i, x in enumerate(lst):
> >     do something with lst[i] also known as x
>
> No you wouldn't, enumerate always starts with 0.

You don't get it.  Your proposed list-like class indicates its start index.
enumerate() can be made to detect that start value so that the above code always
works for both 0-based and 1-based arrays.


Raymond Hettinger










More information about the Python-list mailing list