/
usr
/
share
/
doc
/
python2-docs
/
html
/
_sources
/
c-api
/
/usr/share/doc/python2-docs/html/_sources/c-api
mkdir
upload
Name
Size
Mode
Actions
abstract.rst.txt
702
0644
edit
dl
rm
allocation.rst.txt
4796
0644
edit
dl
rm
arg.rst.txt
26004
0644
edit
dl
rm
bool.rst.txt
1304
0644
edit
dl
rm
buffer.rst.txt
22965
0644
edit
dl
rm
bytearray.rst.txt
2181
0644
edit
dl
rm
capsule.rst.txt
5741
0644
edit
dl
rm
cell.rst.txt
1940
0644
edit
dl
rm
class.rst.txt
1866
0644
edit
dl
rm
cobject.rst.txt
1870
0644
edit
dl
rm
code.rst.txt
1635
0644
edit
dl
rm
codec.rst.txt
4643
0644
edit
dl
rm
complex.rst.txt
4079
0644
edit
dl
rm
concrete.rst.txt
1963
0644
edit
dl
rm
conversion.rst.txt
7092
0644
edit
dl
rm
datetime.rst.txt
6413
0644
edit
dl
rm
descriptor.rst.txt
1296
0644
edit
dl
rm
dict.rst.txt
7757
0644
edit
dl
rm
exceptions.rst.txt
35304
0644
edit
dl
rm
file.rst.txt
6198
0644
edit
dl
rm
float.rst.txt
3371
0644
edit
dl
rm
function.rst.txt
2421
0644
edit
dl
rm
gcsupport.rst.txt
6587
0644
edit
dl
rm
gen.rst.txt
920
0644
edit
dl
rm
import.rst.txt
11221
0644
edit
dl
rm
index.rst.txt
578
0644
edit
dl
rm
init.rst.txt
49160
0644
edit
dl
rm
int.rst.txt
4578
0644
edit
dl
rm
intro.rst.txt
28473
0644
edit
dl
rm
iter.rst.txt
1390
0644
edit
dl
rm
iterator.rst.txt
1796
0644
edit
dl
rm
list.rst.txt
6362
0644
edit
dl
rm
long.rst.txt
7987
0644
edit
dl
rm
mapping.rst.txt
2874
0644
edit
dl
rm
marshal.rst.txt
3985
0644
edit
dl
rm
memory.rst.txt
11556
0644
edit
dl
rm
method.rst.txt
2099
0644
edit
dl
rm
module.rst.txt
3867
0644
edit
dl
rm
none.rst.txt
697
0644
edit
dl
rm
number.rst.txt
11939
0644
edit
dl
rm
objbuffer.rst.txt
2516
0644
edit
dl
rm
object.rst.txt
17491
0644
edit
dl
rm
objimpl.rst.txt
305
0644
edit
dl
rm
refcounting.rst.txt
2934
0644
edit
dl
rm
reflection.rst.txt
1567
0644
edit
dl
rm
sequence.rst.txt
8716
0644
edit
dl
rm
set.rst.txt
6588
0644
edit
dl
rm
slice.rst.txt
2979
0644
edit
dl
rm
string.rst.txt
15422
0644
edit
dl
rm
structures.rst.txt
14966
0644
edit
dl
rm
sys.rst.txt
5714
0644
edit
dl
rm
tuple.rst.txt
5491
0644
edit
dl
rm
type.rst.txt
2761
0644
edit
dl
rm
typeobj.rst.txt
66936
0644
edit
dl
rm
unicode.rst.txt
45126
0644
edit
dl
rm
utilities.rst.txt
415
0644
edit
dl
rm
veryhigh.rst.txt
13363
0644
edit
dl
rm
weakref.rst.txt
2820
0644
edit
dl
rm
Edit:
/usr/share/doc/python2-docs/html/_sources/c-api/sequence.rst.txt
(8716B)
.. highlightlang:: c .. _sequence: Sequence Protocol ================= .. c:function:: int PySequence_Check(PyObject *o) Return ``1`` if the object provides sequence protocol, and ``0`` otherwise. This function always succeeds. .. c:function:: Py_ssize_t PySequence_Size(PyObject *o) Py_ssize_t PySequence_Length(PyObject *o) .. index:: builtin: len Returns the number of objects in sequence *o* on success, and ``-1`` on failure. This is equivalent to the Python expression ``len(o)``. .. versionchanged:: 2.5 These functions returned an :c:type:`int` type. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: PyObject* PySequence_Concat(PyObject *o1, PyObject *o2) Return the concatenation of *o1* and *o2* on success, and *NULL* on failure. This is the equivalent of the Python expression ``o1 + o2``. .. c:function:: PyObject* PySequence_Repeat(PyObject *o, Py_ssize_t count) Return the result of repeating sequence object *o* *count* times, or *NULL* on failure. This is the equivalent of the Python expression ``o * count``. .. versionchanged:: 2.5 This function used an :c:type:`int` type for *count*. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: PyObject* PySequence_InPlaceConcat(PyObject *o1, PyObject *o2) Return the concatenation of *o1* and *o2* on success, and *NULL* on failure. The operation is done *in-place* when *o1* supports it. This is the equivalent of the Python expression ``o1 += o2``. .. c:function:: PyObject* PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count) Return the result of repeating sequence object *o* *count* times, or *NULL* on failure. The operation is done *in-place* when *o* supports it. This is the equivalent of the Python expression ``o *= count``. .. versionchanged:: 2.5 This function used an :c:type:`int` type for *count*. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: PyObject* PySequence_GetItem(PyObject *o, Py_ssize_t i) Return the *i*\ th element of *o*, or *NULL* on failure. This is the equivalent of the Python expression ``o[i]``. .. versionchanged:: 2.5 This function used an :c:type:`int` type for *i*. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: PyObject* PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2) Return the slice of sequence object *o* between *i1* and *i2*, or *NULL* on failure. This is the equivalent of the Python expression ``o[i1:i2]``. .. versionchanged:: 2.5 This function used an :c:type:`int` type for *i1* and *i2*. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: int PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v) Assign object *v* to the *i*\ th element of *o*. Raise an exception and return ``-1`` on failure; return ``0`` on success. This is the equivalent of the Python statement ``o[i] = v``. This function *does not* steal a reference to *v*. If *v* is *NULL*, the element is deleted, however this feature is deprecated in favour of using :c:func:`PySequence_DelItem`. .. versionchanged:: 2.5 This function used an :c:type:`int` type for *i*. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: int PySequence_DelItem(PyObject *o, Py_ssize_t i) Delete the *i*\ th element of object *o*. Returns ``-1`` on failure. This is the equivalent of the Python statement ``del o[i]``. .. versionchanged:: 2.5 This function used an :c:type:`int` type for *i*. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: int PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, PyObject *v) Assign the sequence object *v* to the slice in sequence object *o* from *i1* to *i2*. Raise an exception and return ``-1`` on failure; return ``0`` on success. This is the equivalent of the Python statement ``o[i1:i2] = v``. If *v* is *NULL*, the slice is deleted, however this feature is deprecated in favour of using :c:func:`PySequence_DelSlice`. .. versionchanged:: 2.5 This function used an :c:type:`int` type for *i1* and *i2*. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: int PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2) Delete the slice in sequence object *o* from *i1* to *i2*. Returns ``-1`` on failure. This is the equivalent of the Python statement ``del o[i1:i2]``. .. versionchanged:: 2.5 This function used an :c:type:`int` type for *i1* and *i2*. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: Py_ssize_t PySequence_Count(PyObject *o, PyObject *value) Return the number of occurrences of *value* in *o*, that is, return the number of keys for which ``o[key] == value``. On failure, return ``-1``. This is equivalent to the Python expression ``o.count(value)``. .. versionchanged:: 2.5 This function returned an :c:type:`int` type. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: int PySequence_Contains(PyObject *o, PyObject *value) Determine if *o* contains *value*. If an item in *o* is equal to *value*, return ``1``, otherwise return ``0``. On error, return ``-1``. This is equivalent to the Python expression ``value in o``. .. c:function:: Py_ssize_t PySequence_Index(PyObject *o, PyObject *value) Return the first index *i* for which ``o[i] == value``. On error, return ``-1``. This is equivalent to the Python expression ``o.index(value)``. .. versionchanged:: 2.5 This function returned an :c:type:`int` type. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: PyObject* PySequence_List(PyObject *o) Return a list object with the same contents as the arbitrary sequence *o*. The returned list is guaranteed to be new. .. c:function:: PyObject* PySequence_Tuple(PyObject *o) .. index:: builtin: tuple Return a tuple object with the same contents as the arbitrary sequence *o* or *NULL* on failure. If *o* is a tuple, a new reference will be returned, otherwise a tuple will be constructed with the appropriate contents. This is equivalent to the Python expression ``tuple(o)``. .. c:function:: PyObject* PySequence_Fast(PyObject *o, const char *m) Return the sequence *o* as a list, unless it is already a tuple or list, in which case *o* is returned. Use :c:func:`PySequence_Fast_GET_ITEM` to access the members of the result. Returns *NULL* on failure. If the object is not a sequence, raises :exc:`TypeError` with *m* as the message text. .. c:function:: PyObject* PySequence_Fast_GET_ITEM(PyObject *o, Py_ssize_t i) Return the *i*\ th element of *o*, assuming that *o* was returned by :c:func:`PySequence_Fast`, *o* is not *NULL*, and that *i* is within bounds. .. versionchanged:: 2.5 This function used an :c:type:`int` type for *i*. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: PyObject** PySequence_Fast_ITEMS(PyObject *o) Return the underlying array of PyObject pointers. Assumes that *o* was returned by :c:func:`PySequence_Fast` and *o* is not *NULL*. Note, if a list gets resized, the reallocation may relocate the items array. So, only use the underlying array pointer in contexts where the sequence cannot change. .. versionadded:: 2.4 .. c:function:: PyObject* PySequence_ITEM(PyObject *o, Py_ssize_t i) Return the *i*\ th element of *o* or *NULL* on failure. Macro form of :c:func:`PySequence_GetItem` but without checking that :c:func:`PySequence_Check` on *o* is true and without adjustment for negative indices. .. versionadded:: 2.3 .. versionchanged:: 2.5 This function used an :c:type:`int` type for *i*. This might require changes in your code for properly supporting 64-bit systems. .. c:function:: Py_ssize_t PySequence_Fast_GET_SIZE(PyObject *o) Returns the length of *o*, assuming that *o* was returned by :c:func:`PySequence_Fast` and that *o* is not *NULL*. The size can also be gotten by calling :c:func:`PySequence_Size` on *o*, but :c:func:`PySequence_Fast_GET_SIZE` is faster because it can assume *o* is a list or tuple.
Save
cmd:
run