You are here:  Home » Python » 列表对象 – 具体对象层(Python教程)(参考资料)

列表对象

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丢弃对任何被替换项目的引用;listi位置的任何引用都会被泄露.

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_GetSlicePyObject  *list,Py_ssize_t  low,Py_ssize_t  high
Return value: New reference.

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

int PyList_SetSlice PyObject  *list,Py_ssize_t  low,Py_ssize_t  high,PyObject  *itemlist
listlow之间设置high的切片到itemlist的内容。类似于list[low:high] = itemlistitemlist也许NULL,表示空列表的分配(切片删除)。成功时返回0,失败时返回-1。不支持从Python开始的负指数.
int PyList_SortPyObject  *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版本中的新品.

评论被关闭。