PySequence_Check
(
PyObject
*o
)
¶
返回
1
if the object provides sequence protocol, and
0
otherwise. Note that it returns
1
for Python classes with a
__getitem__()
method unless they are
dict
subclasses since in general case it is impossible to determine what the type of keys it supports. This function always succeeds.
PySequence_Size
(
PyObject
*o
)
¶
PySequence_Length
(
PyObject
*o
)
¶
Returns the number of objects in sequence
o
on success, and
-1
on failure. This is equivalent to the Python expression
len(o)
.
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
.
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
.
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
.
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
.
PySequence_GetItem
(
PyObject
*o
, Py_ssize_t
i
)
¶
返回
i
th element of
o
,或
NULL
on failure. This is the equivalent of the Python expression
o[i]
.
PySequence_GetSlice
(
PyObject
*o
, Py_ssize_t
i1
, Py_ssize_t
i2
)
¶
Return the slice of sequence object
o
between
i1
and
i2
,或
NULL
on failure. This is the equivalent of the Python expression
o[i1:i2]
.
PySequence_SetItem
(
PyObject
*o
, Py_ssize_t
i
,
PyObject
*v
)
¶
Assign object
v
到
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
.
若
v
is
NULL
, the element is deleted, however this feature is deprecated in favour of using
PySequence_DelItem()
.
PySequence_DelItem
(
PyObject
*o
, Py_ssize_t
i
)
¶
Delete the
i
th element of object
o
。返回
-1
on failure. This is the equivalent of the Python statement
del
o[i]
.
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
. This is the equivalent of the Python statement
o[i1:i2]
=
v
.
PySequence_DelSlice
(
PyObject
*o
, Py_ssize_t
i1
, Py_ssize_t
i2
)
¶
Delete the slice in sequence object
o
from
i1
to
i2
。返回
-1
on failure. This is the equivalent of the Python statement
del
o[i1:i2]
.
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)
.
PySequence_Contains
(
PyObject
*o
,
PyObject
*value
)
¶
Determine if
o
contains
value
. If an item in
o
等于
value
,返回
1
,否则返回
0
. On error, return
-1
. This is equivalent to the Python expression
value
in
o
.
PySequence_Index
(
PyObject
*o
,
PyObject
*value
)
¶
Return the first index
i
其中
o[i]
==
value
. On error, return
-1
. This is equivalent to the Python expression
o.index(value)
.
PySequence_List
(
PyObject
*o
)
¶
Return a list object with the same contents as the sequence or iterable
o
,或
NULL
on failure. The returned list is guaranteed to be new. This is equivalent to the Python expression
list(o)
.
PySequence_Tuple
(
PyObject
*o
)
¶
Return a tuple object with the same contents as the sequence or iterable
o
,或
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)
.
PySequence_Fast
(
PyObject
*o
, const char
*m
)
¶
Return the sequence or iterable
o
as a list, unless it is already a tuple or list, in which case
o
is returned. Use
PySequence_Fast_GET_ITEM()
to access the members of the result. Returns
NULL
on failure. If the object is not a sequence or iterable, raises
TypeError
with
m
as the message text.
PySequence_Fast_GET_SIZE
(
PyObject
*o
)
¶
Returns the length of
o
, assuming that
o
was returned by
PySequence_Fast()
and that
o
不是
NULL
. The size can also be gotten by calling
PySequence_Size()
on
o
,但
PySequence_Fast_GET_SIZE()
is faster because it can assume
o
is a list or tuple.
PySequence_Fast_GET_ITEM
(
PyObject
*o
, Py_ssize_t
i
)
¶
返回
i
th element of
o
, assuming that
o
was returned by
PySequence_Fast()
,
o
不是
NULL
, and that
i
is within bounds.
PySequence_Fast_ITEMS
(
PyObject
*o
)
¶
Return the underlying array of PyObject pointers. Assumes that
o
was returned by
PySequence_Fast()
and
o
不是
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.
PySequence_ITEM
(
PyObject
*o
, Py_ssize_t
i
)
¶
返回
i
th element of
o
or
NULL
on failure. Macro form of
PySequence_GetItem()
but without checking that
PySequence_Check()
on
o
is true and without adjustment for negative indices.