Список объектов¶
-
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)
.