[Python-Dev] None as slice params to list.index() and tuple.index()

Antoine Pitrou solipsis at pitrou.net
Sun Nov 6 20:16:44 CET 2011


On Sun, 6 Nov 2011 09:49:27 +0200
Petri Lehtinen <petri at digip.org> wrote:
> list.index() and list.tuple() don't currently accept None as slice
> parameters, as reported in http://bugs.python.org/issue13340. For
> example:
> 
> >>> [1, 2, 3].index(2, None, None)
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> TypeError: slice indices must be integers or None or have an __index__ method
> 
> The error message of list.index() and tuple.index() (as a consequence
> of using _PyEval_SliceIndex() for parsing arguments) indicates that
> None is a valid value.
> 
> Currently, find(), rfind(), index(), rindex(), count(), startswith()
> and endswith() of str, bytes and bytearray accept None. Should
> list.index() and tuple.index() accept it, too?

Either that or fix the error message. I can't find much benefit in
accepting None, that said (nor in refusing it).

Regards

Antoine.




More information about the Python-Dev mailing list