PyList_Type
¶
此实例的
PyTypeObject
represents the Python list type. This is the same object as
list
在 Python 层。
PyList_Check
(
PyObject
*p
)
¶
返回 True 若 p is a list object or an instance of a subtype of the list type.
PyList_CheckExact
(
PyObject
*p
)
¶
返回 True 若 p is a list object, but not an instance of a subtype of the list type.
PyList_New
(
Py_ssize_t
len
)
¶
Return a new list of length len on success, or NULL 当故障时。
注意
若
len
is greater than zero, the returned list object’s items are set to
NULL
. Thus you cannot use abstract API functions such as
PySequence_SetItem()
or expose the object to Python code before setting all items to a real object with
PyList_SetItem()
.
PyList_Size
(
PyObject
*list
)
¶
Return the length of the list object in
list
; this is equivalent to
len(list)
on a list object.
PyList_GET_SIZE
(
PyObject
*list
)
¶
Macro form of
PyList_Size()
without error checking.
PyList_GetItem
(
PyObject
*list
, Py_ssize_t
index
)
¶
Return the object at position
index
in the list pointed to by
list
. The position must be positive, indexing from the end of the list is not supported. If
index
is out of bounds, return
NULL
and set an
IndexError
异常。
PyList_GET_ITEM
(
PyObject
*list
, Py_ssize_t
i
)
¶
Macro form of
PyList_GetItem()
without error checking.
PyList_SetItem
(
PyObject
*list
, Py_ssize_t
index
,
PyObject
*item
)
¶
Set the item at index
index
in list to
item
。返回
0
on success or
-1
当故障时。
注意
This function “steals” a reference to item and discards a reference to an item already in the list at the affected position.
PyList_SET_ITEM
(
PyObject
*list
, Py_ssize_t
i
,
PyObject
*o
)
¶
Macro form of
PyList_SetItem()
without error checking. This is normally only used to fill in new lists where there is no previous content.
注意
This macro “steals” a reference to
item
, and, unlike
PyList_SetItem()
, does
not
discard a reference to any item that is being replaced; any reference in
list
在位置
i
will be leaked.
PyList_Insert
(
PyObject
*list
, Py_ssize_t
index
,
PyObject
*item
)
¶
Insert the item
item
into list
list
in front of index
index
。返回
0
if successful; return
-1
and set an exception if unsuccessful. Analogous to
list.insert(index,
item)
.
PyList_Append
(
PyObject
*list
,
PyObject
*item
)
¶
Append the object
item
at the end of list
list
。返回
0
if successful; return
-1
and set an exception if unsuccessful. Analogous to
list.append(item)
.
PyList_GetSlice
(
PyObject
*list
, Py_ssize_t
low
, Py_ssize_t
high
)
¶
Return a list of the objects in
list
containing the objects
between
low
and
high
。返回
NULL
and set an exception if unsuccessful. Analogous to
list[low:high]
. Negative indices, as when slicing from Python, are not supported.
PyList_SetSlice
(
PyObject
*list
, Py_ssize_t
low
, Py_ssize_t
high
,
PyObject
*itemlist
)
¶
Set the slice of
list
between
low
and
high
to the contents of
itemlist
. Analogous to
list[low:high]
=
itemlist
。
itemlist
可以是
NULL
, indicating the assignment of an empty list (slice deletion). Return
0
当成功时,
-1
on failure. Negative indices, as when slicing from Python, are not supported.
PyList_Sort
(
PyObject
*list
)
¶
Sort the items of
list
in place. Return
0
当成功时,
-1
on failure. This is equivalent to
list.sort()
.
PyList_Reverse
(
PyObject
*list
)
¶
Reverse the items of
list
in place. Return
0
当成功时,
-1
on failure. This is the equivalent of
list.reverse()
.
PyList_AsTuple
(
PyObject
*list
)
¶
Return a new tuple object containing the contents of
list
; equivalent to
tuple(list)
.
PyList_ClearFreeList
(
)
¶
Clear the free list. Return the total number of freed items.
3.3 版新增。