From 5ce0a2a100909104836f53a2c8823006ec46f8ad Mon Sep 17 00:00:00 2001 From: Nitish Chandra Date: Tue, 12 Dec 2017 15:52:30 +0530 Subject: [PATCH] bpo-31942: Document optional support of start and stop attributes in Sequence.index method (#4277) --- Doc/library/stdtypes.rst | 6 +++--- Lib/_collections_abc.py | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index 0bcafd33b20..de2fb27c2d7 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -973,9 +973,9 @@ Notes: (8) ``index`` raises :exc:`ValueError` when *x* is not found in *s*. - When supported, the additional arguments to the index method allow - efficient searching of subsections of the sequence. Passing the extra - arguments is roughly equivalent to using ``s[i:j].index(x)``, only + Not all implementations support passing the additional arguments *i* and *j*. + These arguments allow efficient searching of subsections of the sequence. Passing + the extra arguments is roughly equivalent to using ``s[i:j].index(x)``, only without copying any data and with the returned index being relative to the start of the sequence rather than the start of the slice. diff --git a/Lib/_collections_abc.py b/Lib/_collections_abc.py index e89e84bc081..a5c7bfcda1d 100644 --- a/Lib/_collections_abc.py +++ b/Lib/_collections_abc.py @@ -899,6 +899,9 @@ class Sequence(Reversible, Collection): def index(self, value, start=0, stop=None): '''S.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present. + + Supporting start and stop arguments is optional, but + recommended. ''' if start is not None and start < 0: start = max(len(self) + start, 0)