Listobjekt¶
-
PyTypeObject PyList_Type¶
- En del av Stabil ABI.
Denna instans av
PyTypeObjectrepresenterar Pythons listtyp. Detta är samma objekt somlisti 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
NULLvid 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 somPySequence_SetItem()eller exponera objektet för Python-kod innan du har satt alla objekt till ett verkligt objekt medPyList_SetItem()ellerPyList_SET_ITEM(). Följande API:er är säkra API:er innan listan är helt initialiserad:PyList_SetItem()ochPyList_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)), returnerasNULLoch ettIndexErrorundantag 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
0vid framgång. Om index är utanför gränserna, returneras\-1och ettIndexErrorundantag 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
0om det lyckas; returnerar\-1och sätter ett undantag om det inte lyckas. Analogt medlist.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
0om det lyckas; returnerar\-1och sätter ett undantag om det inte lyckas. Analogt medlist.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
NULLoch anger ett undantag om det inte lyckas. Analogt medlist[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 varaNULL, vilket indikerar tilldelning av en tom lista (deletion). Returnerar0vid framgång,\-1vid 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 medlist.extend(iterable)ellerlist += iterable.Utlös ett undantag och returnera
\-1om list inte är ettlist-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 medlist.clear()ellerdel list[:].Utlös ett undantag och returnera
\-1om list inte är ettlist-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
0vid framgång,\-1vid misslyckande. Detta är likvärdigt medlist.sort().
-
int PyList_Reverse(PyObject *list)¶
- En del av Stabil ABI.
Omvända objekten i list på plats. Returnerar
0vid framgång,\-1vid misslyckande. Detta är motsvarigheten tilllist.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).