mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Accept None as start and stop parameters for list.index() and tuple.index().
Closes #13340.
This commit is contained in:
commit
8e9f6c4251
5 changed files with 39 additions and 7 deletions
|
@ -484,12 +484,19 @@ static PyObject *
|
|||
tupleindex(PyTupleObject *self, PyObject *args)
|
||||
{
|
||||
Py_ssize_t i, start=0, stop=Py_SIZE(self);
|
||||
PyObject *v;
|
||||
PyObject *v, *start_obj = NULL, *stop_obj = NULL;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "O|O&O&:index", &v,
|
||||
_PyEval_SliceIndex, &start,
|
||||
_PyEval_SliceIndex, &stop))
|
||||
if (!PyArg_ParseTuple(args, "O|OO:index", &v, &start_obj, &stop_obj))
|
||||
return NULL;
|
||||
|
||||
if (start_obj != Py_None)
|
||||
if (!_PyEval_SliceIndex(start_obj, &start))
|
||||
return NULL;
|
||||
|
||||
if (stop_obj != Py_None)
|
||||
if (!_PyEval_SliceIndex(stop_obj, &stop))
|
||||
return NULL;
|
||||
|
||||
if (start < 0) {
|
||||
start += Py_SIZE(self);
|
||||
if (start < 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue