Объекты списка¶
- 
PyTypeObject 
PyList_Type¶ Этот сущность
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)¶ - 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(), не отбрасывает ссылку на любой заменяемый элемент; любая ссылка в 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, содержащий объекты между 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. Может бытьNULLitemlist, указывающее назначение пустого списка (удаление фрагмента). Возвращает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.
