列表对象

PyListObject
这个 的子类型PyObject代表一个Python列表对象.
PyTypeObject PyList_Type
这个的实例PyTypeObject代表Python列表类型。这是与list在Python层.
int PyList_Check( PyObject  *p)
如果p是一个,则返回truelisttype对象或listtype的子类型实例
int  PyList_CheckExact( PyObject  *p)
如果p是列表对象,则返回true,但不是列表类型的子类型的实例.
PyObject* PyList_New( Py_ssize_t  len)
Return value: New reference.

成功返回长度len的新列表,或NULL失败时

注意

如果len大于零,则返回的列表对象的项目设置为NULL。因此你不能使用抽象的API函数,如PySequence_SetItem()或者在将所有项目设置为真实对象之前将对象暴露给Python代码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.

在index指向的列表中将对象list返回。位置必须是正数,不支持从列表末尾开始索引。如果index超出范围,请返回NULL并设置IndexError exception.

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)
将项目设置为索引index在列表中item。返回0继任者-1失败时

注意

这个功能“偷”了item并丢弃对受影响位置列表中已有项目的引用.

void PyList_SET_ITEM( PyObject  *list,Py_ssize_t  i,PyObject  *o)
PyList_SetItem()没有错误检查。这通常只用于填写没有以前内容的新列表.

注意

这个宏“窃取”对的引用item,和,不一样PyList_SetItem(),not丢弃对任何被替换项目的引用;list在i位置的任何引用都会被泄露.

在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 ifsuccessful;返回-1并在不成功时设置异常。Analogousto list.append(item).
PyObject * PyList_GetSlice(PyObject  *list,Py_ssize_t  low,Py_ssize_t  high)
Return value: New reference.

返回list中包含对象的对象列表between low和high。返回NULL如果不成功则设置例外。Analogousto list[low:high]。负面切片,如从Python切片,不支持.

int PyList_SetSlice( PyObject  *list,Py_ssize_t  low,Py_ssize_t  high,PyObject  *itemlist)
在list和low之间设置high的切片到itemlist的内容。类似于list[low:high] = itemlist。itemlist也许NULL,表示空列表的分配(切片删除)。成功时返回0,失败时返回-1。不支持从Python开始的负指数.
int PyList_Sort(PyObject  *list)
将list的项目分类到位。成功时返回0,-1失败。这相当于list.sort().
int PyList_Reverse( PyObject  *list)
反转list到位。返回0成功的,-1onFailure处。这相当于list.reverse().
PyObject * PyList_AsTuple(的PyObject  *list)
Return value: New reference.

返回一个包含list;相当于tuple(list).

int PyList_ClearFreeList()
清除空闲列表。返回已释放物品的总数.

3.3版本中的新品.

评论被关闭。