Список об’єктів¶
-
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
у разі помилки.Примітка
If len is greater than zero, the returned list object’s items are set to
NULL
. Thus you cannot use abstract API functions such asPySequence_SetItem()
or expose the object to Python code before setting all items to a real object withPyList_SetItem()
.
-
Py_ssize_t
PyList_Size
(PyObject *list)¶ Повертає довжину об’єкта списку в list; це еквівалентно
len(list)
для об’єкта списку.
-
Py_ssize_t
PyList_GET_SIZE
(PyObject *list)¶ Macro form of
PyList_Size()
without error checking.
-
PyObject*
PyList_GetItem
(PyObject *list, Py_ssize_t index)¶ - Return value: Borrowed reference.
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 anIndexError
exception.
-
PyObject*
PyList_GET_ITEM
(PyObject *list, Py_ssize_t i)¶ - Return value: Borrowed reference.
Macro form of
PyList_GetItem()
without error checking.
-
int
PyList_SetItem
(PyObject *list, Py_ssize_t index, PyObject *item)¶ Установіть для елемента з індексом 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)¶ Вставте елемент 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.
Повертає список об’єктів у списку, що містить об’єкти між низьким і високим. Повертає
NULL
і встановлює виняток у разі невдачі. Аналогічноlist[low:high]
. Індексація з кінця списку не підтримується.
-
int
PyList_SetSlice
(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist)¶ Встановіть фрагмент списку між низьким і високим вмістом itemlist. Аналогічно
list[low:high] = itemlist
. itemlist може бутиNULL
, що вказує на призначення порожнього списку (видалення фрагмента). Повертає0
в разі успіху,-1
у випадку невдачі. Індексація з кінця списку не підтримується.
-
int
PyList_Sort
(PyObject *list)¶ Розсортуйте елементи списку за місцем. Повертає
0
в разі успіху,-1
у випадку невдачі. Це еквівалентноlist.sort()
.