Sekvensprotokoll¶
-
int PySequence_Check(PyObject *o)¶
- En del av Stabil ABI.
Returnerar
1
om objektet tillhandahåller sekvensprotokollet, och0
annars. Observera att den returnerar1
för Python-klasser med en__getitem__()
-metod, såvida de inte ärdict
-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-uttrycketlen(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-uttrycketo1 + 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-uttrycketo * 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-uttrycketo1 += 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-uttrycketo *= 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-uttrycketo[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-uttrycketo[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; returnera0
vid framgång. Detta är motsvarigheten till Python-satseno[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 avPySequence_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-satsendel 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-satsendel 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-uttrycketo.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 returneras0
. Vid fel returneras-1
. Detta är likvärdigt med Python-uttrycketvalue 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-uttrycketo.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-uttrycketlist(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-uttryckettuple(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, genererasTypeError
med m som meddelandetext. ReturnerarNULL
vid fel.Funktionerna
PySequence_Fast*
har fått detta namn eftersom de antar att o är ettPyTupleObject
eller ettPyListObject
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 ärNULL
. Storleken kan också hämtas genom att anropaPySequence_Size()
på o, menPySequence_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 ärNULL
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 ärNULL
.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 avPySequence_GetItem()
men utan att kontrollera attPySequence_Check()
på o är sant och utan justering för negativa index.