s.index(x[, i[, j]]) will change the s ?

s7v7nislands s7v7nislands at gmail.com
Thu Sep 10 07:00:41 CEST 2009


Thanks for your reply! Sorry for my poor english!

On Sep 10, 12:33 pm, Chris Rebert <c... at rebertia.com> wrote:
> On Wed, Sep 9, 2009 at 9:00 PM, s7v7nislands<s7v7nisla... at gmail.com> wrote:
> > hi all:
> >    what is the s.index() mean? does the index() change the s?
>
> It tells you the index of the first instance of the given element in
> the sequence. Or, to quote the docs:
>     s.index(x[, i[, j]]) --- return smallest k such that s[k] == x and
> i <= k < j
>
> No, .index() does not modify the sequence itself.

I known index() does not modify the sequence itself. my question is so
why the doc put the index() method in the mutable sequence types list?
>
> >    In python2.6 doc (6.6.4. Mutable Sequence Types), Note 4:
>
> > Raises ValueError when x is not found in s. When a negative index is
> > passed as the second or third parameter to the index() method, the
> > list length is added, as for slice indices. If it is still negative,
> > it is truncated to zero, as for slice indices.
>
> > Changed in version 2.3: Previously, index() didn’t have arguments for
> > specifying start and stop positions.
>
> Nothing in the above says anything about modifying a sequence...
When a negative index is passed as the second or third parameter to
the index() method, the list length is added, as for slice indices.
I don't understand the mean.  the list length is added, why? if it
changed, the original will change ?
>
> > who can give a example?  and why the s.remove() also point to note 4?
>
> Because it has the same behavior when the item is not present in the sequence.
>
> Examples using lists:
>
> assert ["c", "a", "b", "c", "c"].index("c", 1) == 3
>
> try:
>     ["a", "b"].index("c")
> except ValueError:
>     print "'c' was not in the list"
> else:
>     raise RuntimeError, "Should never get here"
>
> x = ["a", "b", "c"]
> x.remove("b")
> assert len(x) == 2 and x[0] == "a" and x[1] == "c"
I want a example, maybe: use the a negative index is passed as the
second or third parameter, and see the length changed.
>
> > Is the document wrong?
>
> No. What made you think so?
Sorry for my poor english. do you understand me now? thanks!
>
> Cheers,
> Chris
> --http://blog.rebertia.com




More information about the Python-list mailing list