7.3.5 List Objects

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 as types.ListType.

int PyList_Check(PyObject *p)
Returns 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(int len)
Return value: New reference.
Returns a new list of length len on success, or NULL on failure.

int PyList_Size(PyObject *list)
Returns the length of the list object in list; this is equivalent to "len(list)" on a list object.

int PyList_GET_SIZE(PyObject *list)
Macro form of PyList_Size() without error checking.

PyObject* PyList_GetItem(PyObject *list, int index)
Return value: Borrowed reference.
Returns the object at position pos in the list pointed to by p. If pos is out of bounds, returns NULL and sets an IndexError exception.

PyObject* PyList_GET_ITEM(PyObject *list, int i)
Return value: Borrowed reference.
Macro form of PyList_GetItem() without error checking.

int PyList_SetItem(PyObject *list, int index, PyObject *item)
Sets the item at index index in list to item. Returns 0 on success or -1 on failure. Note: This function ``steals'' a reference to item and discards a reference to an item already in the list at the affected position.

void PyList_SET_ITEM(PyObject *list, int 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 function ``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.

int PyList_Insert(PyObject *list, int index, PyObject *item)
Inserts the item item into list list in front of index index. Returns 0 if successful; returns -1 and raises an exception if unsuccessful. Analogous to list.insert(index, item).

int PyList_Append(PyObject *list, PyObject *item)
Appends the object item at the end of list list. Returns 0 if successful; returns -1 and sets an exception if unsuccessful. Analogous to list.append(item).

PyObject* PyList_GetSlice(PyObject *list, int low, int high)
Return value: New reference.
Returns a list of the objects in list containing the objects between low and high. Returns NULL and sets an exception if unsuccessful. Analogous to list[low:high].

int PyList_SetSlice(PyObject *list, int low, int high, PyObject *itemlist)
Sets 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). Returns 0 on success, -1 on failure.

int PyList_Sort(PyObject *list)
Sorts the items of list in place. Returns 0 on success, -1 on failure. This is equivalent to "list.sort()".

int PyList_Reverse(PyObject *list)
Reverses the items of list in place. Returns 0 on success, -1 on failure. This is the equivalent of "list.reverse()".

PyObject* PyList_AsTuple(PyObject *list)
Return value: New reference.
Returns a new tuple object containing the contents of list; equivalent to "tuple(list)".

See About this document... for information on suggesting changes.