List Objects - Python 2.7.18 documentation 编辑
PyListObject
This subtype of
PyObject
represents a Python list object.
- PyTypeObject
PyList_Type
This instance of
PyTypeObject
represents the Python list type. This is the same object aslist
in the Python layer.
- int
PyList_Check
(PyObject *p) Return true if p is a list object or an instance of a subtype of the list type.
Changed in version 2.2: Allowed subtypes to be accepted.
- int
PyList_CheckExact
(PyObject *p) Return true if p is a list object, but not an instance of a subtype of the list type.
New in version 2.2.
- PyObject*
PyList_New
(Py_ssize_t len) - Return value: New reference.
Return a new list of length len on success, or NULL on failure.
Note
If len is greater than zero, the returned list object’s items are set to
NULL
. Thus you cannot use abstract API functions such asPySequence_SetItem()
or expose the object to Python code before setting all items to a real object withPyList_SetItem()
.Changed in version 2.5: This function used an
int
for size. This might require changes in your code for properly supporting 64-bit systems.
- Py_ssize_t
PyList_Size
(PyObject *list) Return the length of the list object in list; this is equivalent to
len(list)
on a list object.Changed in version 2.5: This function returned an
int
. This might require changes in your code for properly supporting 64-bit systems.
- Py_ssize_t
PyList_GET_SIZE
(PyObject *list) Macro form of
PyList_Size()
without error checking.Changed in version 2.5: This macro returned an
int
. This might require changes in your code for properly supporting 64-bit systems.
- PyObject*
PyList_GetItem
(PyObject *list, Py_ssize_t index) - Return value: Borrowed reference.
Return the object at position index in the list pointed to by list. The position must be non-negative; indexing from the end of the list is not supported. If index is out of bounds (<0 or >=len(list)), return NULL and set an
IndexError
exception.Changed in version 2.5: This function used an
int
for index. This might require changes in your code for properly supporting 64-bit systems.
- PyObject*
PyList_GET_ITEM
(PyObject *list, Py_ssize_t i) - Return value: Borrowed reference.
Macro form of
PyList_GetItem()
without error checking.Changed in version 2.5: This macro used an
int
for i. This might require changes in your code for properly supporting 64-bit systems.
- int
PyList_SetItem
(PyObject *list, Py_ssize_t index, PyObject *item) Set the item at index index in list to item. Return
0
on success. If index is out of bounds, return-1
and set anIndexError
exception.Note
This function “steals” a reference to item and discards a reference to an item already in the list at the affected position.
Changed in version 2.5: This function used an
int
for index. This might require changes in your code for properly supporting 64-bit systems.
- void
PyList_SET_ITEM
(PyObject *list, Py_ssize_t i, PyObject *o) Macro form of
PyList_SetItem()
without error checking. This is normally only used to fill in new lists where there is no previous content.Note
This macro “steals” a reference to item, and, unlike
PyList_SetItem()
, does not discard a reference to any item that it being replaced; any reference in list at position i will be leaked.Changed in version 2.5: This macro used an
int
for i. This might require changes in your code for properly supporting 64-bit systems.
- int
PyList_Insert
(PyObject *list, Py_ssize_t index, PyObject *item) Insert the item item into list list in front of index index. Return
0
if successful; return-1
and set an exception if unsuccessful. Analogous tolist.insert(index, item)
.Changed in version 2.5: This function used an
int
for index. This might require changes in your code for properly supporting 64-bit systems.
- int
PyList_Append
(PyObject *list, PyObject *item) Append the object item at the end of list list. Return
0
if successful; return-1
and set an exception if unsuccessful. Analogous tolist.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.Changed in version 2.5: This function used an
int
for low and high. This might require changes in your code for properly supporting 64-bit systems.
- int
PyList_SetSlice
(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist) Set the slice of list between low and high to the contents of itemlist. Analogous to
list[low:high] = itemlist
. The itemlist may be NULL, indicating the assignment of an empty list (slice deletion). Return0
on success,-1
on failure. Indexing from the end of the list is not supported.Changed in version 2.5: This function used an
int
for low and high. This might require changes in your code for properly supporting 64-bit systems.
- int
PyList_Sort
(PyObject *list) Sort the items of list in place. Return
0
on success,-1
on failure. This is equivalent tolist.sort()
.
- int
PyList_Reverse
(PyObject *list) Reverse the items of list in place. Return
0
on success,-1
on failure. This is the equivalent oflist.reverse()
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论