Объекты списков
-
type PyListObject -
Этот подтип
PyObjectпредставляет объект списка Python.
-
PyTypeObject PyList_Type -
Часть стабильного ABI.
Этот экземпляр
PyTypeObjectпредставляет тип списков Python. Это тот же объект, что иlistна уровне Python.
-
int PyList_Check(PyObject *p) -
Возвращает true, если p является объектом списка или экземпляром подтипа типа списка. Эта функция всегда завершается успешно.
-
int PyList_CheckExact(PyObject *p) -
Возвращает true, если p является объектом списка, но не экземпляром подтипа типа списка. Эта функция всегда завершается успешно.
-
PyObject *PyList_New(Py_ssize_t len) -
Возвращаемое значение: новая ссылка. Часть стабильного ABI.
При успешном выполнении возвращает новый список длины len, а при ошибке —
NULL.Примечание
Если len больше нуля, элементы возвращённого объекта списка устанавливаются в
NULL. Поэтому нельзя использовать функции абстрактного API, такие какPySequence_SetItem(), или предоставлять объект коду Python, пока все элементы не будут установлены в реальные объекты с помощьюPyList_SetItem().
-
Py_ssize_t PyList_Size(PyObject *list) -
Часть стабильного ABI.
Возвращает длину объекта списка list; это эквивалентно
len(list)для объекта списка.
-
Py_ssize_t PyList_GET_SIZE(PyObject *list) -
Аналогична
PyList_Size(), но не выполняет проверку ошибок.
-
PyObject *PyList_GetItem(PyObject *list, Py_ssize_t index) -
Возвращаемое значение: заимствованная ссылка. Часть стабильного ABI.
Возвращает объект в позиции index списка, на который указывает list. Позиция должна быть неотрицательной; индексация с конца списка не поддерживается. Если index выходит за границы (<0 или >=len(list)), возвращает
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) -
Часть стабильного ABI.
Устанавливает элемент item в списке по индексу index. При успешном выполнении возвращает
0. Если index выходит за границы, возвращает-1и устанавливает исключениеIndexError.Примечание
Эта функция «забирает» ссылку на item и отбрасывает ссылку на элемент, уже находящийся в списке в указанной позиции.
-
void PyList_SET_ITEM(PyObject *list, Py_ssize_t i, PyObject *o) -
Макросная форма
PyList_SetItem()без проверки ошибок. Обычно используется только для заполнения новых списков, в которых ещё нет содержимого.Примечание
Этот макрос «забирает» ссылку на item и, в отличие от
PyList_SetItem(), не отбрасывает ссылку на заменяемый элемент; любая ссылка в list в позиции i будет утекать.
-
int PyList_Insert(PyObject *list, Py_ssize_t index, PyObject *item) -
Часть стабильного ABI.
Вставляет элемент item в список list перед индексом index. При успешном выполнении возвращает
0; при неудаче возвращает-1и устанавливает исключение. Аналогичноlist.insert(index, item).
-
int PyList_Append(PyObject *list, PyObject *item) -
Часть стабильного ABI.
Добавляет объект item в конец списка list. При успешном выполнении возвращает
0; при неудаче возвращает-1и устанавливает исключение. Аналогичноlist.append(item).
-
PyObject *PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high) -
Возвращаемое значение: новая ссылка. Часть стабильного ABI.
Возвращает список объектов из list, содержащий объекты между low и high. При неудаче возвращает
NULLи устанавливает исключение. Аналогичноlist[low:high]. Индексация с конца списка не поддерживается.
-
int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist) -
Часть стабильного ABI.
Заменяет срез list между low и high содержимым itemlist. Аналогично
list[low:high] = itemlist. Значение itemlist может бытьNULL, что означает присваивание пустого списка (удаление среза). При успешном выполнении возвращает0, при неудаче —-1. Индексация с конца списка не поддерживается.
-
int PyList_Sort(PyObject *list) -
Часть стабильного ABI.
Сортирует элементы list на месте. При успешном выполнении возвращает
0, при неудаче —-1. Эквивалентноlist.sort().
-
int PyList_Reverse(PyObject *list) -
Часть стабильного ABI.
Разворачивает элементы list на месте. При успешном выполнении возвращает
0, при неудаче —-1. Эквивалентноlist.reverse().
-
PyObject *PyList_AsTuple(PyObject *list) -
Возвращаемое значение: новая ссылка. Часть стабильного ABI.
Возвращает новый объект кортежа, содержащий содержимое list; эквивалентно
tuple(list).
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/c-api/list.html