Listobjekt¶
-
PyTypeObject PyList_Type¶
- En del av Stabil ABI.
Denna instans av
PyTypeObject
representerar Pythons listtyp. Detta är samma objekt somlist
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 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)
), returnerasNULL
och ettIndexError
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 ettIndexError
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 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
0
om det lyckas; returnerar-1
och 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
NULL
och 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). Returnerar0
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 medlist.extend(iterable)
ellerlist += iterable
.Utlös ett undantag och returnera
-1
om 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
-1
om 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
0
vid framgång,-1
vid 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
0
vid framgång,-1
vid 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)
.