Sequence Protocol¶
- intPySequence_Check(PyObject*o)¶
- Part of theStable ABI.
Return
1if the object provides the sequence protocol, and0otherwise.Note that it returns1for Python classes with a__getitem__()method, unless they aredictsubclasses, since in general itis impossible to determine what type of keys the class supports. Thisfunction always succeeds.
- Py_ssize_tPySequence_Size(PyObject*o)¶
- Py_ssize_tPySequence_Length(PyObject*o)¶
- Part of theStable ABI.
Returns the number of objects in sequenceo on success, and
-1onfailure. This is equivalent to the Python expressionlen(o).
- PyObject*PySequence_Concat(PyObject*o1,PyObject*o2)¶
- Return value: New reference. Part of theStable ABI.
Return the concatenation ofo1 ando2 on success, and
NULLon failure.This is the equivalent of the Python expressiono1+o2.
- PyObject*PySequence_Repeat(PyObject*o,Py_ssize_tcount)¶
- Return value: New reference. Part of theStable ABI.
Return the result of repeating sequence objectocount times, or
NULLonfailure. This is the equivalent of the Python expressiono*count.
- PyObject*PySequence_InPlaceConcat(PyObject*o1,PyObject*o2)¶
- Return value: New reference. Part of theStable ABI.
Return the concatenation ofo1 ando2 on success, and
NULLon failure.The operation is donein-place wheno1 supports it. This is the equivalentof the Python expressiono1+=o2.
- PyObject*PySequence_InPlaceRepeat(PyObject*o,Py_ssize_tcount)¶
- Return value: New reference. Part of theStable ABI.
Return the result of repeating sequence objectocount times, or
NULLonfailure. The operation is donein-place wheno supports it. This is theequivalent of the Python expressiono*=count.
- PyObject*PySequence_GetItem(PyObject*o,Py_ssize_ti)¶
- Return value: New reference. Part of theStable ABI.
Return theith element ofo, or
NULLon failure. This is the equivalent ofthe Python expressiono[i].
- PyObject*PySequence_GetSlice(PyObject*o,Py_ssize_ti1,Py_ssize_ti2)¶
- Return value: New reference. Part of theStable ABI.
Return the slice of sequence objecto betweeni1 andi2, or
NULLonfailure. This is the equivalent of the Python expressiono[i1:i2].
- intPySequence_SetItem(PyObject*o,Py_ssize_ti,PyObject*v)¶
- Part of theStable ABI.
Assign objectv to theith element ofo. Raise an exceptionand return
-1on failure; return0on success. Thisis the equivalent of the Python statemento[i]=v. This functiondoesnot steal a reference tov.Ifv is
NULL, the element is deleted, but this feature isdeprecated in favour of usingPySequence_DelItem().
- intPySequence_DelItem(PyObject*o,Py_ssize_ti)¶
- Part of theStable ABI.
Delete theith element of objecto. Returns
-1on failure. This is theequivalent of the Python statementdelo[i].
- intPySequence_SetSlice(PyObject*o,Py_ssize_ti1,Py_ssize_ti2,PyObject*v)¶
- Part of theStable ABI.
Assign the sequence objectv to the slice in sequence objecto fromi1 toi2. This is the equivalent of the Python statement
o[i1:i2]=v.
- intPySequence_DelSlice(PyObject*o,Py_ssize_ti1,Py_ssize_ti2)¶
- Part of theStable ABI.
Delete the slice in sequence objecto fromi1 toi2. Returns
-1onfailure. This is the equivalent of the Python statementdelo[i1:i2].
- Py_ssize_tPySequence_Count(PyObject*o,PyObject*value)¶
- Part of theStable ABI.
Return the number of occurrences ofvalue ino, that is, return the numberof keys for which
o[key]==value. On failure, return-1. This isequivalent to the Python expressiono.count(value).
- intPySequence_Contains(PyObject*o,PyObject*value)¶
- Part of theStable ABI.
Determine ifo containsvalue. If an item ino is equal tovalue,return
1, otherwise return0. On error, return-1. This isequivalent to the Python expressionvalueino.
- intPySequence_In(PyObject*o,PyObject*value)¶
- Part of theStable ABI.
Alias for
PySequence_Contains().Deprecated since version 3.14:The function issoft deprecated and should no longer be used towrite new code.
- Py_ssize_tPySequence_Index(PyObject*o,PyObject*value)¶
- Part of theStable ABI.
Return the first indexi for which
o[i]==value. On error, return-1. This is equivalent to the Python expressiono.index(value).
- PyObject*PySequence_List(PyObject*o)¶
- Return value: New reference. Part of theStable ABI.
Return a list object with the same contents as the sequence or iterableo,or
NULLon failure. The returned list is guaranteed to be new. This isequivalent to the Python expressionlist(o).
- PyObject*PySequence_Tuple(PyObject*o)¶
- Return value: New reference. Part of theStable ABI.
Return a tuple object with the same contents as the sequence or iterableo,or
NULLon failure. Ifo is a tuple, a new reference will be returned,otherwise a tuple will be constructed with the appropriate contents. This isequivalent to the Python expressiontuple(o).
- PyObject*PySequence_Fast(PyObject*o,constchar*m)¶
- Return value: New reference. Part of theStable ABI.
Return the sequence or iterableo as an object usable by the other
PySequence_Fast*family of functions. If the object is not a sequence oriterable, raisesTypeErrorwithm as the message text. ReturnsNULLon failure.The
PySequence_Fast*functions are thus named because they assumeo is aPyTupleObjector aPyListObjectand accessthe data fields ofo directly.As a CPython implementation detail, ifo is already a sequence or list, itwill be returned.
- Py_ssize_tPySequence_Fast_GET_SIZE(PyObject*o)¶
Returns the length ofo, assuming thato was returned by
PySequence_Fast()and thato is notNULL. The size can also beretrieved by callingPySequence_Size()ono, butPySequence_Fast_GET_SIZE()is faster because it can assumeo is alist or tuple.
- PyObject*PySequence_Fast_GET_ITEM(PyObject*o,Py_ssize_ti)¶
- Return value: Borrowed reference.
Return theith element ofo, assuming thato was returned by
PySequence_Fast(),o is notNULL, and thati is within bounds.
- PyObject**PySequence_Fast_ITEMS(PyObject*o)¶
Return the underlying array of PyObject pointers. Assumes thato was returnedby
PySequence_Fast()ando is notNULL.Note, if a list gets resized, the reallocation may relocate the items array.So, only use the underlying array pointer in contexts where the sequencecannot change.
- PyObject*PySequence_ITEM(PyObject*o,Py_ssize_ti)¶
- Return value: New reference.
Return theith element ofo or
NULLon failure. Faster form ofPySequence_GetItem()but without checking thatPySequence_Check()ono is true and without adjustment for negativeindices.