Objetos lista¶
-
PyTypeObject PyList_Type¶
- Part of the Stable ABI.
Esta instancia de
PyTypeObject
representa el tipo de lista de Python. Este es el mismo objeto quelist
en la capa de Python.
-
int PyList_Check(PyObject *p)¶
Retorna verdadero si p es un objeto de lista o una instancia de un subtipo del tipo lista. Esta función siempre finaliza con éxito.
-
int PyList_CheckExact(PyObject *p)¶
Retorna verdadero si p es un objeto lista, pero no una instancia de un subtipo del tipo lista. Esta función siempre finaliza con éxito.
-
PyObject *PyList_New(Py_ssize_t len)¶
- Return value: New reference. Part of the Stable ABI.
Retorna una nueva lista de longitud len en caso de éxito o
NULL
en caso de error.Nota
Si len es mayor que cero, los elementos del objeto de la lista retornada se establecen en
NULL
. Por lo tanto, no puede utilizar funciones API abstractas comoPySequence_SetItem()
o exponer el objeto al código Python antes de configurar todos los elementos en un objeto real conPyList_SetItem()
.
-
Py_ssize_t PyList_Size(PyObject *list)¶
- Part of the Stable ABI.
Retorna la longitud del objeto lista en list; esto es equivalente a
len(list)
en un objeto lista.
-
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.
Retorna el objeto en la posición index en la lista a la que apunta list. La posición no debe ser negativa; La indexación desde el final de la lista no es compatible. Si index está fuera de los límites (<0 o >= len(list)), retorna
NULL
y establece una excepciónIndexError
.
-
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.
Establece el elemento en el índice index en la lista a item. Retorna
0
en caso de éxito. Si index está fuera de límites, retorna-1
y establece una excepciónIndexError
.Nota
Esta función «roba» una referencia a item y descarta una referencia a un elemento que ya está en la lista en la posición afectada.
-
void PyList_SET_ITEM(PyObject *list, Py_ssize_t i, PyObject *o)¶
Forma macro de
PyList_SetItem()
sin comprobación de errores. Esto normalmente solo se usa para completar nuevas listas donde no hay contenido anterior.Nota
Este macro «roba» una referencia a item y, a diferencia de
PyList_SetItem()
, no descarta una referencia a ningún elemento que se está reemplazando; cualquier referencia en list en la posición i se filtrará.
-
int PyList_Insert(PyObject *list, Py_ssize_t index, PyObject *item)¶
- Part of the Stable ABI.
Inserta el elemento item en la lista list delante del índice index. Retorna
0
si tiene éxito; retorna-1
y establece una excepción si no tiene éxito. Análogo alist.insert(index, item)
.
-
int PyList_Append(PyObject *list, PyObject *item)¶
- Part of the Stable ABI.
Agrega el objeto item al final de la lista list. Retorna
0
si tiene éxito; retorna-1
y establece una excepción si no tiene éxito. Análogo alist.append(item)
.
-
PyObject *PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high)¶
- Return value: New reference. Part of the Stable ABI.
Retorna una lista de los objetos en list que contiene los objetos between, low y high. Retorna
NULL
y establece una excepción si no tiene éxito. Análogo alist[low:high]
. La indexación desde el final de la lista no es compatible.
-
int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist)¶
- Part of the Stable ABI.
Establece el segmento de list entre low y high para el contenido de itemlist. Análogo a
list[low:high] = itemlist
. La lista itemlist puede serNULL
, lo que indica la asignación de una lista vacía (eliminación de segmentos). Retorna0
en caso de éxito,-1
en caso de error. La indexación desde el final de la lista no es compatible.
-
int PyList_Sort(PyObject *list)¶
- Part of the Stable ABI.
Ordena los elementos de list en su lugar. Retorna
0
en caso de éxito,-1
en caso de error. Esto es equivalente alist.sort()
.
-
int PyList_Reverse(PyObject *list)¶
- Part of the Stable ABI.
Invierte los elementos de la lista list en su lugar. Retorna
0
en caso de éxito,-1
en caso de error. Este es el equivalente delist.reverse()
.
-
PyObject *PyList_AsTuple(PyObject *list)¶
- Return value: New reference. Part of the Stable ABI.
Retorna un nuevo objeto tupla que contiene el contenido de list; equivalente a
tuple(list)
.