列表对象

type PyListObject

这种subtype PyObject 表示一个python列表对象。

PyTypeObject PyList_Type

此实例 PyTypeObject 表示python列表类型。这是同一个对象 list 在python层中。

int PyList_Check(PyObject *p)

如果满足以下条件,则返回TRUE p 是列表对象或列表类型的子类型的实例。此功能总是成功的。

int PyList_CheckExact(PyObject *p)

如果满足以下条件,则返回TRUE p 是列表对象,但不是列表类型的子类型的实例。此功能总是成功的。

PyObject *PyList_New(Py_ssize_t len)
Return value: New reference.

返回新的长度列表 len 关于成功,或 NULL 失败论。

注解

如果 len 大于零,返回的列表对象的项设置为 NULL . 因此,不能使用抽象API函数,例如 PySequence_SetItem() 或者在将所有项设置为具有 PyList_SetItem() .

Py_ssize_t PyList_Size(PyObject *list)

返回列表对象的长度 list ;这相当于 len(list) 在列表对象上。

Py_ssize_t PyList_GET_SIZE(PyObject *list)

宏观形式 PyList_Size() 没有错误检查。

PyObject *PyList_GetItem(PyObject *list, Py_ssize_t index)
Return value: Borrowed reference.

将对象返回到位置 指数 在所指的列表中 list .位置必须为非负;不支持从列表结尾进行索引。如果 指数 超出界限(<0或>=len(list)),返回 NULL 并设置一个 IndexError 例外。

PyObject *PyList_GET_ITEM(PyObject *list, Py_ssize_t i)
Return value: Borrowed reference.

宏观形式 PyList_GetItem() 没有错误检查。

int PyList_SetItem(PyObject *list, Py_ssize_t index, PyObject *item)

在索引处设置项 指数 在列表中 item . 返回 0 在成功的时候。如果 指数 越界,返回 -1 并设置一个 IndexError 例外。

注解

此函数“窃取”对 item 并放弃对已在受影响位置的列表中的项的引用。

void PyList_SET_ITEM(PyObject *list, Py_ssize_t i, PyObject *o)

宏观形式 PyList_SetItem() 没有错误检查。这通常只用于填写没有以前内容的新列表。

注解

这个宏“窃取”了对 item ,而且,不像 PyList_SetItem()not 放弃对正在被替换的任何项的引用;中的任何引用 list 就位 i 将被泄露。

int PyList_Insert(PyObject *list, Py_ssize_t index, PyObject *item)

插入项目 item 进入列表 list 在索引前面 index . 返回 0 如果成功;返回 -1 如果失败,则设置异常。类似于 list.insert(index, item) .

int PyList_Append(PyObject *list, PyObject *item)

附加对象 item 在列表末尾 list . 返回 0 如果成功;返回 -1 如果失败,则设置异常。类似于 list.append(item) .

PyObject *PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high)
Return value: New reference.

Return a list of the objects in list containing the objects between low and high. Return NULL and set an exception if unsuccessful. Analogous to list[low:high]. Indexing from the end of the list is not supported.

int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist)

设置的切片 list 之间 lowhigh 到的内容 项目清单 . 类似于 list[low:high] = itemlist . 这个 项目清单 可能是 NULL ,指示空列表的分配(切片删除)。返回 0 关于成功, -1 失败时。不支持从列表末尾建立索引。

int PyList_Sort(PyObject *list)

排序的项目 list 就位。返回 0 关于成功, -1 失败论。这相当于 list.sort() .

int PyList_Reverse(PyObject *list)

反转的项 list 就位。返回 0 关于成功, -1 失败时。这相当于 list.reverse() .

PyObject *PyList_AsTuple(PyObject *list)
Return value: New reference.

返回一个新的tuple对象,该对象包含 list 相当于 tuple(list) .