Список об’єктів¶
-
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
NULLand set anIndexErrorexception.
-
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().