Listenobjekte¶
-
PyTypeObject PyList_Type¶
- Teil der Stable ABI.
Diese Instanz von
PyTypeObjectrepräsentiert den Python-Listentyp. Dies ist dasselbe Objekt wielistin der Python-Schicht.
-
int PyList_Check(PyObject *p)¶
Gibt wahr zurück, wenn p ein Listenobjekt oder eine Instanz eines Untertyps des Listentyps ist. Diese Funktion ist immer erfolgreich.
-
int PyList_CheckExact(PyObject *p)¶
Gibt wahr zurück, wenn p ein Listenobjekt ist, aber keine Instanz eines Untertyps des Listentyps. Diese Funktion ist immer erfolgreich.
-
PyObject *PyList_New(Py_ssize_t len)¶
- Rückgabewert: Neue Referenz. Teil der Stabilen ABI.
Gibt bei Erfolg eine neue Liste der Länge len zurück, bei Fehler
NULL.Hinweis
Wenn len größer als null ist, werden die Elemente des zurückgegebenen Listenobjekts auf
NULLgesetzt. Daher können Sie keine abstrakten API-Funktionen wiePySequence_SetItem()verwenden oder das Objekt für Python-Code freigeben, bevor alle Elemente mitPyList_SetItem()oderPyList_SET_ITEM()auf ein echtes Objekt gesetzt wurden. Die folgenden APIs sind sichere APIs, bevor die Liste vollständig initialisiert ist:PyList_SetItem()undPyList_SET_ITEM().
-
Py_ssize_t PyList_Size(PyObject *list)¶
- Teil der Stable ABI.
Gibt die Länge des Listenobjekts in list zurück; dies ist äquivalent zu
len(list)für ein Listenobjekt.
-
Py_ssize_t PyList_GET_SIZE(PyObject *list)¶
Ähnlich wie
PyList_Size(), aber ohne Fehlerprüfung.
-
PyObject *PyList_GetItemRef(PyObject *list, Py_ssize_t index)¶
- Rückgabewert: Neue Referenz. Teil der Stable ABI seit Version 3.13.
Gibt das Objekt an der Position index in der von list referenzierten Liste zurück. Die Position muss nicht-negativ sein; Indexierung vom Ende der Liste wird nicht unterstützt. Wenn index außerhalb der Grenzen liegt (
<0 oder >=len(list)), wirdNULLzurückgegeben und eineIndexError-Ausnahme gesetzt.Hinzugefügt in Version 3.13.
-
PyObject *PyList_GetItem(PyObject *list, Py_ssize_t index)¶
- Rückgabewert: Ausgeliehene Referenz. Teil der Stable ABI.
Ähnlich wie
PyList_GetItemRef(), gibt aber eine ausgeliehene Referenz anstelle einer starken Referenz zurück.
-
PyObject *PyList_GET_ITEM(PyObject *list, Py_ssize_t i)¶
- Rückgabewert: Entliehene Referenz.
Ähnlich wie
PyList_GetItem(), aber ohne Fehlerprüfung.
-
int PyList_SetItem(PyObject *list, Py_ssize_t index, PyObject *item)¶
- Teil der Stable ABI.
Setzt das Element am Index index in der Liste auf item. Gibt bei Erfolg
0zurück. Wenn index außerhalb der Grenzen liegt, wird-1zurückgegeben und eineIndexError-Ausnahme gesetzt.Hinweis
Diese Funktion „stiehlt“ eine Referenz auf item und verwirft eine Referenz auf ein Element, das sich bereits an der betroffenen Position in der Liste befindet.
-
void PyList_SET_ITEM(PyObject *list, Py_ssize_t i, PyObject *o)¶
Makroform von
PyList_SetItem()ohne Fehlerprüfung. Dies wird normalerweise nur zum Füllen neuer Listen verwendet, bei denen kein vorheriger Inhalt vorhanden ist.Grenzenprüfung wird als Assertion durchgeführt, wenn Python im Debug-Modus oder
mit Assertionserstellt wurde.Hinweis
Dieses Makro „stiehlt“ eine Referenz auf item und verwirft im Gegensatz zu
PyList_SetItem()keine Referenz auf ein zu ersetzendes Element; jede Referenz in list an Position i wird geleakt.
-
int PyList_Insert(PyObject *list, Py_ssize_t index, PyObject *item)¶
- Teil der Stable ABI.
Fügt das Element item in die Liste list vor dem Index index ein. Gibt bei Erfolg
0zurück; gibt bei Misserfolg-1zurück und setzt eine Ausnahme. Analog zulist.insert(index, item).
-
int PyList_Append(PyObject *list, PyObject *item)¶
- Teil der Stable ABI.
Fügt das Objekt item am Ende der Liste list an. Gibt bei Erfolg
0zurück; gibt bei Misserfolg-1zurück und setzt eine Ausnahme. Analog zulist.append(item).
-
PyObject *PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high)¶
- Rückgabewert: Neue Referenz. Teil der Stabilen ABI.
Gibt eine Liste der Objekte in list zurück, die die Objekte zwischen low und high enthalten. Gibt bei Misserfolg
NULLzurück und setzt eine Ausnahme. Analog zulist[low:high]. Indexierung vom Ende der Liste wird nicht unterstützt.
-
int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist)¶
- Teil der Stable ABI.
Setzt den Slice von list zwischen low und high auf den Inhalt von itemlist. Analog zu
list[low:high] = itemlist. itemlist kannNULLsein, was die Zuweisung einer leeren Liste (Slice-Löschung) bedeutet. Gibt bei Erfolg0, bei Fehler-1zurück. Indexierung vom Ende der Liste wird nicht unterstützt.
-
int PyList_Extend(PyObject *list, PyObject *iterable)¶
Erweitert list mit dem Inhalt von iterable. Dies ist dasselbe wie
PyList_SetSlice(list, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX, iterable)und analog zulist.extend(iterable)oderlist += iterable.Löst eine Ausnahme aus und gibt
-1zurück, wenn list keinlist-Objekt ist. Gibt bei Erfolg 0 zurück.Hinzugefügt in Version 3.13.
-
int PyList_Clear(PyObject *list)¶
Entfernt alle Elemente aus list. Dies ist dasselbe wie
PyList_SetSlice(list, 0, PY_SSIZE_T_MAX, NULL)und analog zulist.clear()oderdel list[:].Löst eine Ausnahme aus und gibt
-1zurück, wenn list keinlist-Objekt ist. Gibt bei Erfolg 0 zurück.Hinzugefügt in Version 3.13.
-
int PyList_Sort(PyObject *list)¶
- Teil der Stable ABI.
Sortiert die Elemente von list an Ort und Stelle. Gibt bei Erfolg
0, bei Fehler-1zurück. Dies ist äquivalent zulist.sort().
-
int PyList_Reverse(PyObject *list)¶
- Teil der Stable ABI.
Kehrt die Reihenfolge der Elemente von list an Ort und Stelle um. Gibt bei Erfolg
0, bei Fehler-1zurück. Dies ist das Äquivalent zulist.reverse().
-
PyObject *PyList_AsTuple(PyObject *list)¶
- Rückgabewert: Neue Referenz. Teil der Stabilen ABI.
Gibt ein neues Tupelobjekt zurück, das den Inhalt von list enthält; äquivalent zu
tuple(list).