Список об’єктів

type PyListObject

Цей підтип PyObject представляє об’єкт списку Python.

PyTypeObject PyList_Type
Part of the Stable 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)
Return value: New reference. Part of the Stable ABI.

Повертає новий список довжиною len у разі успіху або NULL у разі помилки.

Примітка

Якщо len більше нуля, для поверненого об’єкта списку встановлено значення 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)

Similar to PyList_Size(), but without error checking.

PyObject *PyList_GetItem(PyObject *list, Py_ssize_t index)
Return value: Borrowed reference. Part of the Stable ABI.

Return the object at position index in the list pointed to by list. The position must be non-negative; indexing from the end of the list is not supported. If index is out of bounds (<0 or >=len(list)), return NULL and set an IndexError exception.

PyObject *PyList_GET_ITEM(PyObject *list, Py_ssize_t i)
Return value: Borrowed reference.

Similar to PyList_GetItem(), but without error checking.

int PyList_SetItem(PyObject *list, Py_ssize_t index, PyObject *item)
Part of the Stable 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 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.

Повертає список об’єктів у списку, що містить об’єкти між низьким і високим. Повертає NULL і встановлює виняток у разі невдачі. Аналогічно list[low:high]. Індексація з кінця списку не підтримується.

int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist)
Part of the Stable ABI.

Встановіть фрагмент списку між низьким і високим вмістом 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).