Listobjekt

type PyListObject

Denna subtyp av PyObject representerar ett Python-listobjekt.

PyTypeObject PyList_Type
En del av Stabil ABI.

Denna instans av PyTypeObject representerar Pythons listtyp. Detta är samma objekt som list i Python-lagret.

int PyList_Check(PyObject *p)

Returnerar true om p är ett listobjekt eller en instans av en subtyp av listtypen. Denna funktion lyckas alltid.

int PyList_CheckExact(PyObject *p)

Returnerar true om p är ett listobjekt, men inte en instans av en subtyp av listtypen. Denna funktion lyckas alltid.

PyObject *PyList_New(Py_ssize_t len)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar en ny lista med längden len vid framgång, eller NULL vid misslyckande.

Anteckning

Om len är större än noll, sätts det returnerade listobjektets objekt till NULL. Du kan alltså inte använda abstrakta API-funktioner som PySequence_SetItem() eller exponera objektet för Python-kod innan du har satt alla objekt till ett verkligt objekt med PyList_SetItem() eller PyList_SET_ITEM(). Följande API:er är säkra API:er innan listan är helt initialiserad: PyList_SetItem() och PyList_SET_ITEM().

Py_ssize_t PyList_Size(PyObject *list)
En del av Stabil ABI.

Returnerar längden på listobjektet i list; detta är likvärdigt med len(list) på ett listobjekt.

Py_ssize_t PyList_GET_SIZE(PyObject *list)

Liknar PyList_Size(), men utan felkontroll.

PyObject *PyList_GetItemRef(PyObject *list, Py_ssize_t index)
Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.13.

Returnerar objektet på position index i listan som pekas ut av list. Positionen måste vara icke-negativ; indexering från slutet av listan stöds inte. Om index är utanför gränserna (<0 or >=len(list)), returneras NULL och ett IndexError undantag anges.

Tillagd i version 3.13.

PyObject *PyList_GetItem(PyObject *list, Py_ssize_t index)
Returnera värde: Lånad referens. En del av Stabil ABI.

Som PyList_GetItemRef(), men returnerar en lånad referens istället för en strong reference.

PyObject *PyList_GET_ITEM(PyObject *list, Py_ssize_t i)
Returnera värde: Lånad referens.

Liknar PyList_GetItem(), men utan felkontroll.

int PyList_SetItem(PyObject *list, Py_ssize_t index, PyObject *item)
En del av Stabil ABI.

Ställ in objektet på index index i listan till item. Returnera 0 vid framgång. Om index är utanför gränserna, returneras -1 och ett IndexError undantag anges.

Anteckning

Denna funktion ”stjäl” en referens till item och kastar bort en referens till ett objekt som redan finns i listan på den berörda positionen.

void PyList_SET_ITEM(PyObject *list, Py_ssize_t i, PyObject *o)

Makroform av PyList_SetItem() utan felkontroll. Detta används normalt bara för att fylla i nya listor där det inte finns något tidigare innehåll.

Gränskontroll utförs som ett påstående om Python är byggt i debugläge eller med påstående.

Anteckning

Detta makro ”stjäl” en referens till objekt och, till skillnad från PyList_SetItem(), förkastar inte en referens till något objekt som ersätts; alla referenser i list på position i kommer att läcka ut.

int PyList_Insert(PyObject *list, Py_ssize_t index, PyObject *item)
En del av Stabil ABI.

Infoga objektet item i listan list framför index index. Returnerar 0 om det lyckas; returnerar -1 och sätter ett undantag om det inte lyckas. Analogt med list.insert(index, item).

int PyList_Append(PyObject *list, PyObject *item)
En del av Stabil ABI.

Lägg till objektet item i slutet av listan list. Returnerar 0 om det lyckas; returnerar -1 och sätter ett undantag om det inte lyckas. Analogt med list.append(item).

PyObject *PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar en lista över objekten i list som innehåller objekten mellan low och high. Returnerar NULL och anger ett undantag om det inte lyckas. Analogt med list[low:high]. Indexering från slutet av listan stöds inte.

int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist)
En del av Stabil ABI.

Ställ in delen av list mellan low och high till innehållet i itemlist. Analogt med list[low:high] = itemlist. itemlist kan vara NULL, vilket indikerar tilldelning av en tom lista (deletion). Returnerar 0 vid framgång, -1 vid misslyckande. Indexering från slutet av listan stöds inte.

int PyList_Extend(PyObject *list, PyObject *iterable)

Utökar list med innehållet i iterable. Detta är samma sak som PyList_SetSlice(list, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX, iterable) och analogt med list.extend(iterable) eller list += iterable.

Utlös ett undantag och returnera -1 om list inte är ett list-objekt. Returnerar 0 vid framgång.

Tillagd i version 3.13.

int PyList_Clear(PyObject *list)

Tar bort alla objekt från list. Detta är samma sak som PyList_SetSlice(list, 0, PY_SSIZE_T_MAX, NULL) och analogt med list.clear() eller del list[:].

Utlös ett undantag och returnera -1 om list inte är ett list-objekt. Returnerar 0 vid framgång.

Tillagd i version 3.13.

int PyList_Sort(PyObject *list)
En del av Stabil ABI.

Sortera objekten i list på plats. Returnerar 0 vid framgång, -1 vid misslyckande. Detta är likvärdigt med list.sort().

int PyList_Reverse(PyObject *list)
En del av Stabil ABI.

Omvända objekten i list på plats. Returnerar 0 vid framgång, -1 vid misslyckande. Detta är motsvarigheten till list.reverse().

PyObject *PyList_AsTuple(PyObject *list)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar ett nytt tuple-objekt som innehåller innehållet i list; motsvarar tuple(list).