Sekvensprotokoll

int PySequence_Check(PyObject *o)
En del av Stabil ABI.

Returnerar 1 om objektet tillhandahåller sekvensprotokollet, och 0 annars. Observera att den returnerar 1 för Python-klasser med en __getitem__()-metod, såvida de inte är dict-subklasser, eftersom det i allmänhet är omöjligt att avgöra vilken typ av nycklar klassen stöder. Denna funktion lyckas alltid.

Py_ssize_t PySequence_Size(PyObject *o)
Py_ssize_t PySequence_Length(PyObject *o)
En del av Stabil ABI.

Returnerar antalet objekt i sekvensen o vid framgång, och -1 vid misslyckande. Detta är likvärdigt med Python-uttrycket len(o).

PyObject *PySequence_Concat(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar konkateneringen av o1 och o2 vid framgång och NULL vid misslyckande. Detta är motsvarigheten till Python-uttrycket o1 + o2.

PyObject *PySequence_Repeat(PyObject *o, Py_ssize_t count)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av att upprepa sekvensobjektet o count gånger, eller NULL om det misslyckas. Detta är motsvarigheten till Python-uttrycket o * count.

PyObject *PySequence_InPlaceConcat(PyObject *o1, PyObject *o2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar konkateneringen av o1 och o2 vid framgång, och NULL vid misslyckande. Operationen utförs in-place när o1 stöder det. Detta är motsvarigheten till Python-uttrycket o1 += o2.

PyObject *PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar resultatet av att upprepa sekvensobjektet o antal gånger, eller NULL om det misslyckas. Operationen görs in-place när o stöder den. Detta är motsvarigheten till Python-uttrycket o *= count.

PyObject *PySequence_GetItem(PyObject *o, Py_ssize_t i)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar det i:e elementet i o, eller NULL om det misslyckas. Detta är motsvarigheten till Python-uttrycket o[i].

PyObject *PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar den del av sekvensobjektet o som ligger mellan i1 och i2, eller NULL om den misslyckas. Detta är motsvarigheten till Python-uttrycket o[i1:i2].

int PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v)
En del av Stabil ABI.

Tilldela objekt v till det i:e elementet i o. Utlös ett undantag och returnera -1 vid misslyckande; returnera 0 vid framgång. Detta är motsvarigheten till Python-satsen o[i] = v. Den här funktionen stjäl inte en referens till v.

Om v är NULL raderas elementet, men denna funktion är föråldrad till förmån för användning av PySequence_DelItem().

int PySequence_DelItem(PyObject *o, Py_ssize_t i)
En del av Stabil ABI.

Ta bort det i:e elementet i objektet o. Returnerar -1 om det misslyckas. Detta är motsvarigheten till Python-satsen del o[i].

int PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, PyObject *v)
En del av Stabil ABI.

Tilldela sekvensobjektet v till snittet i sekvensobjektet o från i1 till i2. Detta är motsvarigheten till Python-satsen o[i1:i2] = v.

int PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2)
En del av Stabil ABI.

Raderar delen i sekvensobjektet o från i1 till i2. Returnerar -1 om det misslyckas. Detta är motsvarigheten till Python-satsen del o[i1:i2].

Py_ssize_t PySequence_Count(PyObject *o, PyObject *value)
En del av Stabil ABI.

Returnerar antalet förekomster av värde i o, det vill säga returnerar antalet nycklar för vilka o[key] == value. Vid misslyckande returneras -1. Detta är likvärdigt med Python-uttrycket o.count(value).

int PySequence_Contains(PyObject *o, PyObject *value)
En del av Stabil ABI.

Bestäm om o innehåller värde. Om en post i o är lika med värde, returneras 1, annars returneras 0. Vid fel returneras -1. Detta är likvärdigt med Python-uttrycket value in o.

int PySequence_In(PyObject *o, PyObject *value)
En del av Stabil ABI.

Alias för PySequence_Contains().

Föråldrad sedan version 3.14: Funktionen är soft deprecated och bör inte längre användas för att skriva ny kod.

Py_ssize_t PySequence_Index(PyObject *o, PyObject *value)
En del av Stabil ABI.

Returnerar det första indexet i för vilket o[i] == value. Vid fel returneras -1. Detta är likvärdigt med Python-uttrycket o.index(value).

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

Returnerar ett listobjekt med samma innehåll som sekvensen eller iterabeln o, eller NULL om det misslyckas. Den returnerade listan är garanterat ny. Detta är likvärdigt med Python-uttrycket list(o).

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

Returnerar ett tuple-objekt med samma innehåll som sekvensen eller iterabeln o, eller NULL om det misslyckas. Om o är en tupel returneras en ny referens, annars konstrueras en tupel med lämpligt innehåll. Detta är likvärdigt med Python-uttrycket tuple(o).

PyObject *PySequence_Fast(PyObject *o, const char *m)
Returnera värde: Ny referens. En del av Stabil ABI.

Returnerar sekvensen eller den itererbara o som ett objekt som kan användas av andra funktioner i familjen PySequence_Fast*. Om objektet inte är en sekvens eller itererbart, genereras TypeError med m som meddelandetext. Returnerar NULL vid fel.

Funktionerna PySequence_Fast* har fått detta namn eftersom de antar att o är ett PyTupleObject eller ett PyListObject och har direkt åtkomst till datafälten i o.

Som en detalj i CPython-implementeringen, om o redan är en sekvens eller lista, kommer den att returneras.

Py_ssize_t PySequence_Fast_GET_SIZE(PyObject *o)

Returnerar längden på o, förutsatt att o returnerades av PySequence_Fast() och att o inte är NULL. Storleken kan också hämtas genom att anropa PySequence_Size()o, men PySequence_Fast_GET_SIZE() är snabbare eftersom den kan anta att o är en lista eller tupel.

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

Returnerar det i:e elementet i o, förutsatt att o returnerades av PySequence_Fast(), att o inte är NULL och att i är inom gränserna.

PyObject **PySequence_Fast_ITEMS(PyObject *o)

Returnerar den underliggande matrisen av PyObject-pekare. Antar att o returnerades av PySequence_Fast() och att o inte är NULL.

Observera att om en lista ändras i storlek kan omallokeringen flytta objektmatrisen. Använd därför endast den underliggande arraypekaren i sammanhang där sekvensen inte kan ändras.

PyObject *PySequence_ITEM(PyObject *o, Py_ssize_t i)
Returnera värde: Ny referens.

Returnerar ith elementet i o eller NULL vid fel. Snabbare form av PySequence_GetItem() men utan att kontrollera att PySequence_Check()o är sant och utan justering för negativa index.