Объекты списков
-
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()илиPyList_SET_ITEM(). Следующие API являются безопасными перед полной инициализацией списка:PyList_SetItem()иPyList_SET_ITEM().
-
Py_ssize_t PyList_Size(PyObject *list) -
Часть Стабильного ABI.
Возвращает длину объекта списка в list; это эквивалентно
len(list)для объекта списка.
-
Py_ssize_t PyList_GET_SIZE(PyObject *list) -
Аналогично
PyList_Size(), но без проверки ошибок.
-
PyObject *PyList_GetItemRef(PyObject *list, Py_ssize_t index) -
Значение возврата: Новая ссылка. Часть Стабильного ABI с версии 3.13.
Возвращает объект в позиции index в списке, указанном list. Позиция должна быть неотрицательной; индексирование с конца списка не поддерживается. Если index выходит за пределы диапазона (
<0 or >=len(list)), возвращаетNULLи устанавливает исключениеIndexError.Добавлен в версии 3.13.
-
PyObject *PyList_GetItem(PyObject *list, Py_ssize_t index) -
Значение возврата: Заимствованная ссылка. Часть Стабильного ABI.
Подобно
PyList_GetItemRef(), но возвращает заимствованную ссылку вместо сильной ссылки.
-
PyObject *PyList_GET_ITEM(PyObject *list, Py_ssize_t i) -
Значение возврата: Заимствованная ссылка.
Аналогично
PyList_GetItem(), но без проверки ошибок.
-
int PyList_SetItem(PyObject *list, Py_ssize_t index, PyObject *item) -
Часть Стабильного ABI.
Устанавливает элемент в индексе index в списке на item. Возвращает
0при успехе. Если index выходит за пределы диапазона, возвращает-1и устанавливает исключениеIndexError.Примечание
Эта функция «забирает» ссылку на item и отбрасывает ссылку на элемент, уже находящийся в списке в затронутой позиции.
-
void PyList_SET_ITEM(PyObject *list, Py_ssize_t i, PyObject *o) -
Макроформа
PyList_SetItem()без проверки ошибок. Обычно используется только для заполнения новых списков, где нет предыдущего содержимого.Проверка границ выполняется как утверждение, если Python построен в отладочном режиме или
with assertions.Примечание
Этот макрос «забирает» ссылку на 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_Extend(PyObject *list, PyObject *iterable) -
Расширяет list содержимым iterable. Это то же самое, что и
PyList_SetSlice(list, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX, iterable)и аналогичноlist.extend(iterable)илиlist += iterable.Вызовет исключение и вернет
-1если list не является объектомlist. Возвращает 0 при успехе.Добавлен в версии 3.13.
-
int PyList_Clear(PyObject *list) -
Удаляет все элементы из list. Это то же самое, что и
PyList_SetSlice(list, 0, PY_SSIZE_T_MAX, NULL)и аналогичноlist.clear()илиdel list[:].Вызовет исключение и вернет
-1если list не является объектомlist. Возвращает 0 при успехе.Добавлен в версии 3.13.
-
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.13/c-api/list.html