列表对象¶
-
PyTypeObject PyList_Type¶
此实例
PyTypeObject
表示python列表类型。这是同一个对象list
在python层中。
-
PyObject *PyList_New(Py_ssize_t len)¶
- Return value: New reference.
返回新的长度列表 len 关于成功,或
NULL
失败论。注解
如果 len 大于零,返回的列表对象的项设置为
NULL
. 因此,不能使用抽象API函数,例如PySequence_SetItem()
或者在将所有项设置为具有PyList_SetItem()
.
-
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 tolist[low:high]
. Indexing from the end of the list is not supported.