列表对象 – 具体对象层(Python教程)(参考资料)
列表对象
- int
PyList_CheckExact
( PyObject *p) - 如果p是列表对象,则返回true,但不是列表类型的子类型的实例.
- 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
并在不成功时设置异常。Analogoustolist.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
成功的,-1
onFailure处。这相当于list.reverse()
.
- PyObject *
PyList_AsTuple
(的PyObject *list) - Return value: New reference.
返回一个包含list;相当于
tuple(list)
.
- int
PyList_ClearFreeList
() - 清除空闲列表。返回已释放物品的总数.
3.3版本中的新品.
评论被关闭。