Список объектов

type PyListObject

Этот подтип PyObject представляет собой объект списка Python.

PyTypeObject PyList_Type
Part of the Стабильный ABI.

Этот экземпляр PyTypeObject представляет тип списка Python. Это тот же объект, что и list на уровне Python.

int PyList_Check(PyObject *p)

Возвращает значение true, если p является объектом списка или экземпляром подтипа типа list. Эта функция всегда выполняется успешно.

int PyList_CheckExact(PyObject *p)

Возвращает значение true, если p является объектом списка, но не экземпляром подтипа типа list. Эта функция всегда выполняется успешно.

PyObject *PyList_New(Py_ssize_t len)
Возвращаемое значение: Новая ссылка. Part of the Стабильный ABI.

Возвращает новый список длины len в случае успеха или NULL в случае неудачи.

Примечание

Если значение len больше нуля, элементам возвращаемого объекта списка присваивается значение NULL. Таким образом, вы не можете использовать абстрактные функции API, такие как : c:func:PySequence_SetItem, или предоставлять объект коду Python, прежде чем присваивать всем элементам значение реального объекта с помощью PyList_SetItem().

Py_ssize_t PyList_Size(PyObject *list)
Part of the Стабильный ABI.

Возвращает длину объекта list в list; это эквивалентно len(list) для объекта list.

Py_ssize_t PyList_GET_SIZE(PyObject *list)

Аналогично PyList_Size(), но без проверки ошибок.

PyObject *PyList_GetItem(PyObject *list, Py_ssize_t index)
Возвращаемое значение: Заимствованная ссылка. Part of the Стабильный ABI.

Возвращает объект в позиции index в списке, на который указывает list. Позиция должна быть неотрицательной; индексация с конца списка не поддерживается. Если значение index выходит за рамки (<0 или >=len(список)), верните NULL и задайте исключение IndexError.

PyObject *PyList_GET_ITEM(PyObject *list, Py_ssize_t i)
Возвращаемое значение: Заимствованная ссылка.

Аналогично PyList_GetItem(), но без проверки ошибок.

int PyList_SetItem(PyObject *list, Py_ssize_t index, PyObject *item)
Part of the Стабильный ABI.

Присвоьте элементу с индексом index в списке значение item. В случае успеха верните 0. Если значение index выходит за пределы допустимого значения, верните -1 и задайте исключение IndexError.

Примечание

Эта функция «крадет» ссылку на элемент и удаляет ссылку на элемент, который уже есть в списке в соответствующей позиции.

void PyList_SET_ITEM(PyObject *list, Py_ssize_t i, PyObject *o)

Макро-форма PyList_SetItem() без проверки на ошибки. Обычно используется только для заполнения новых списков, в которых нет предыдущего содержимого.

Примечание

Этот макрос «крадет» ссылку на item и, в отличие от PyList_SetItem(), не удаляет ссылку на какой-либо заменяемый элемент; любая ссылка в списке в позиции i будет пропущена.

int PyList_Insert(PyObject *list, Py_ssize_t index, PyObject *item)
Part of the Стабильный ABI.

Вставьте элемент item в список list перед индексом index. Верните 0 в случае успеха; верните -1 и установите исключение в случае неудачи. Аналогично list.insert(index, item).

int PyList_Append(PyObject *list, PyObject *item)
Part of the Стабильный ABI.

Добавьте объект item в конец списка list. В случае успеха верните 0; в случае неудачи верните -1 и создайте исключение. Аналогично list.append(item).

PyObject *PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high)
Возвращаемое значение: Новая ссылка. Part of the Стабильный ABI.

Возвращает список объектов в list, содержащий объекты между**low и high. Возвращает NULL и устанавливает исключение в случае неудачи. Аналогично list[low:high]. Индексация с конца списка не поддерживается.

int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist)
Part of the Стабильный ABI.

Установите для фрагмента list между low и high значение, соответствующее содержимому itemlist. Аналогично list[low:high] = itemlist. itemlist может быть NULL, что указывает на назначение пустого списка (удаление фрагмента). В случае успеха возвращает 0, в случае неудачи - -1. Индексация с конца списка не поддерживается.

int PyList_Sort(PyObject *list)
Part of the Стабильный ABI.

Отсортируйте элементы списка по местам. В случае успеха верните 0, в случае неудачи - -1. Это эквивалентно list.sort().

int PyList_Reverse(PyObject *list)
Part of the Стабильный ABI.

Поменяйте местами элементы списка. В случае успеха верните 0, в случае неудачи - -1. Это эквивалентно list.reverse().

PyObject *PyList_AsTuple(PyObject *list)
Возвращаемое значение: Новая ссылка. Part of the Стабильный ABI.

Возвращает новый объект tuple, содержащий содержимое list; эквивалентно tuple(list).

Вернуться на верх