Объекты списка¶
-
PyTypeObject
PyList_Type¶ - Part of the Stable ABI.
Этот экземпляр
PyTypeObjectпредставляет тип списка Python. Это тот же объект, что иlistв слое Python.
-
int
PyList_Check(PyObject *p)¶ Возвращает true, если p является объектом типа list или экземпляром подтипа типа list. Эта функция всегда успешна.
-
int
PyList_CheckExact(PyObject *p)¶ Возвращает true, если p является объектом списка, но не является экземпляром подтипа типа list. Эта функция всегда успешна.
-
PyObject *
PyList_New(Py_ssize_t len)¶ - Return value: New reference. Part of the Stable ABI.
Возвращает новый список длины len в случае успеха, или
NULLв случае неудачи.Примечание
Если len больше нуля, элементы возвращаемого объекта list устанавливаются в
NULL. Таким образом, вы не можете использовать абстрактные функции API, такие какPySequence_SetItem()или подвергать объект воздействию кода Python до установки всех элементов в реальный объект с помощьюPyList_SetItem().
-
Py_ssize_t
PyList_Size(PyObject *list)¶ - Part of the Stable ABI.
Возвращает длину объекта списка в 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. Part of the Stable ABI.
Возвращает объект в позиции 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)¶ - Part of the Stable ABI.
Установить элемент с индексом index в списке в item. При успехе возвращается
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)¶ - Part of the Stable ABI.
Вставьте элемент item в список list перед индексом index. В случае успеха возвращается
0; в случае неудачи возвращается-1и устанавливается исключение. Аналогичноlist.insert(index, item).
-
int
PyList_Append(PyObject *list, PyObject *item)¶ - Part of the Stable ABI.
Добавьте объект item в конец списка list. В случае успеха возвращается
0; в случае неудачи возвращается-1и устанавливается исключение. Аналогичноlist.append(item).
-
PyObject *
PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high)¶ - Return value: New reference. Part of the Stable 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 Stable ABI.
Устанавливает фрагмент list между low и high в содержимое itemlist. Аналогично
list[low:high] = itemlist. itemlist может бытьNULL, что указывает на присвоение пустого списка (удаление фрагмента). Возвращает0при успехе,-1при неудаче. Индексирование с конца списка не поддерживается.
-
int
PyList_Sort(PyObject *list)¶ - Part of the Stable ABI.
Сортировка элементов списка по местам. Возвращает
0при успехе,-1при неудаче. Это эквивалентноlist.sort().
-
int
PyList_Reverse(PyObject *list)¶ - Part of the Stable ABI.
Поменять местами элементы списка. Возвращает
0при успехе,-1при неудаче. Это эквивалентноlist.reverse().
-
PyObject *
PyList_AsTuple(PyObject *list)¶ - Return value: New reference. Part of the Stable ABI.
Возвращает новый объект кортежа, содержащий содержимое list; эквивалентно
tuple(list).