Список объектов
-
PyListObject
Данный подтип
PyObject
представляет объект списка Python.
-
PyTypeObject
PyList_Type
Данный экземпляр
PyTypeObject
представляет тип списка Python. Это тот же объект, что иlist
в слое Python.
-
int
PyList_Check
(PyObject *p) Возвращает истину, если p является объектом списка или экземпляром подтипа типа списка.
-
int
PyList_CheckExact
(PyObject *p) Возвращает истину, если p является объектом списка, но не экземпляром подтипа типа списка.
-
PyObject*
PyList_New
(Py_ssize_t len) - Return value: New reference.
Возвращает новый список длины len в случае успеха или
NULL
в случае неудачи.Примечание
Если len больше нуля, элементы возвращаемого объекта списка устанавливаются на
NULL
. Таким образом, вы не можете использовать абстрактные функции API, например,PySequence_SetItem()
, или предоставлять объект коду Python перед установкой всех элементов в реальный объект с помощьюPyList_SetItem()
.
-
Py_ssize_t
PyList_Size
(PyObject *list) Возвращает длину объекта списка в list; это эквивалентно
len(list)
в объекте списка.
-
Py_ssize_t
PyList_GET_SIZE
(PyObject *list) Макро-форма
PyList_Size()
без проверки ошибок.
-
PyObject*
PyList_GetItem
(PyObject *list, Py_ssize_t index) - Return value: Borrowed reference.
Возвращает объект в позицию index в списке, на который указывает list. Позиция должна быть неотрицательной; индексация с конца списка не поддерживается. Если index выходит за пределы (<0 или>=len(list)), возвращает
NULL
и установить исключениеIndexError
.
-
PyObject*
PyList_GET_ITEM
(PyObject *list, Py_ssize_t i) - Return value: Borrowed reference.
Макро-форма
PyList_GetItem()
без проверки ошибок.
-
int
PyList_SetItem
(PyObject *list, Py_ssize_t index, PyObject *item) Устанавливает элемент с индексом index в списке на item. В случае успеха возвращает
0
. Если index находится за пределами допустимого диапазона, возвращает-1
и устанавливает исключениеIndexError
.Примечание
Функция «крадёт» ссылку на item и отбрасывает ссылку на элемент, уже находящийся в списке в затронутой позиции.
-
void
PyList_SET_ITEM
(PyObject *list, Py_ssize_t i, PyObject *o) Макро-форма
PyList_SetItem()
без проверки ошибок. Обычно это используется только для заполнения новых списков, в которых нет предыдущего содержимого.Примечание
Данный макрос «крадёт» ссылку на item и, в отличие от
PyList_SetItem()
, not удаляет ссылку на любой элемент, который заменяется; любая ссылка в list на позицию i будет утекать.
-
int
PyList_Insert
(PyObject *list, Py_ssize_t index, PyObject *item) Вставить элемент item в список list перед индексом index. В случае успеха возвращает
0
; возвращает-1
и установить исключение в случае неудачи. Аналогlist.insert(index, item)
.
-
int
PyList_Append
(PyObject *list, PyObject *item) Добавить объект item в конец списка list. В случае успеха возвращает
0
; возвращает-1
и установить исключение в случае неудачи. Аналогlist.append(item)
.
-
PyObject*
PyList_GetSlice
(PyObject *list, Py_ssize_t low, Py_ssize_t high) - Return value: New reference.
Возвращает список объектов в list, содержащий объекты between, low и high. Возвращает
NULL
и устанавливает исключение в случае неудачи. Аналогlist[low:high]
. Индексирование с конца списка не поддерживается.
-
int
PyList_SetSlice
(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist) Устанавливает фрагмент list между low и high на содержимое itemlist. Аналог
list[low:high] = itemlist
. itemlist может бытьNULL
, указывая назначение пустого списка (удаление среза). Возвращает0
в случае успеха и-1
в случае неудачи. Индексирование с конца списка не поддерживается.
-
int
PyList_Sort
(PyObject *list) Отсортировать элементы list по месту. Возвращает
0
в случае успеха и-1
в случае неудачи. Это эквивалентноlist.sort()
.
-
int
PyList_Reverse
(PyObject *list) Перевозвращает элементы list на место. Возвращает
0
в случае успеха и-1
в случае неудачи. Это эквивалентlist.reverse()
.
-
PyObject*
PyList_AsTuple
(PyObject *list) - Return value: New reference.
Возвращает новый объект кортежа, содержащий содержимое list; эквивалент
tuple(list)
.
-
int
PyList_ClearFreeList
() Очистить свободный список. Возвращает общее количество освобождённых элементов.
Добавлено в версии 3.3.