リストオブジェクト—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.9/c-api/list
移動先:案内検索

リストオブジェクト

type PyListObject
PyObject のこのサブタイプは、Pythonリストオブジェクトを表します。
PyTypeObject PyList_Type
PyTypeObject のこのインスタンスは、Pythonリストタイプを表します。 これは、Pythonレイヤーの list と同じオブジェクトです。
int PyList_Check(PyObject *p)
p がリストオブジェクトまたはリストタイプのサブタイプのインスタンスである場合、trueを返します。 この関数は常に成功します。
int PyList_CheckExact(PyObject *p)
p がリストオブジェクトであるが、リストタイプのサブタイプのインスタンスではない場合、trueを返します。 この関数は常に成功します。
PyObject *PyList_New(Py_ssize_t len)

成功した場合は長さ len の新しいリストを返し、失敗した場合はNULLを返します。

ノート

len がゼロより大きい場合、返されるリストオブジェクトのアイテムはNULLに設定されます。 したがって、 PyList_SetItem()を使用してすべてのアイテムを実際のオブジェクトに設定する前に、 PySequence_SetItem()などの抽象API関数を使用したり、オブジェクトをPythonコードに公開したりすることはできません。

Py_ssize_t PyList_Size(PyObject *list)
list のリストオブジェクトの長さを返します。 これは、リストオブジェクトのlen(list)と同等です。
Py_ssize_t PyList_GET_SIZE(PyObject *list)
エラーチェックなしの PyList_Size()のマクロ形式。
PyObject *PyList_GetItem(PyObject *list, Py_ssize_t index)
list が指すリストの index の位置にあるオブジェクトを返します。 位置は負でない必要があります。 リストの最後からの索引付けはサポートされていません。 もしも索引範囲外です(<0または> = len(list))、戻り値NULLを設定します IndexError 例外。
PyObject *PyList_GET_ITEM(PyObject *list, Py_ssize_t i)
エラーチェックなしの PyList_GetItem()のマクロ形式。
int PyList_SetItem(PyObject *list, Py_ssize_t index, PyObject *item)

リスト内のインデックスインデックスのアイテムをアイテムに設定します。 成功した場合は0を返します。 index が範囲外の場合は、-1を返し、 IndexError 例外を設定します。

ノート

この関数は、 item への参照を「盗み」、影響を受ける位置ですでにリストにあるアイテムへの参照を破棄します。

void PyList_SET_ITEM(PyObject *list, Py_ssize_t i, PyObject *o)

エラーチェックなしの PyList_SetItem()のマクロ形式。 これは通常、以前のコンテンツがない新しいリストに入力するためにのみ使用されます。

ノート

このマクロは item への参照を「盗み」、 PyList_SetItem()とは異なり、は置き換えられるアイテムへの参照を破棄しませんリストi の位置にある参照はすべてリークされます。

int PyList_Insert(PyObject *list, Py_ssize_t index, PyObject *item)
アイテムアイテムをリストリストのインデックスインデックスの前に挿入します。 成功した場合は0を返します。 -1を返し、失敗した場合は例外を設定します。 list.insert(index, item)に類似しています。
int PyList_Append(PyObject *list, PyObject *item)
リストリストの最後にオブジェクトアイテムを追加します。 成功した場合は0を返します。 -1を返し、失敗した場合は例外を設定します。 list.append(item)に類似しています。
PyObject *PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high)
list 内のオブジェクト between lowhigh を含むオブジェクトのリストを返します。 NULLを返し、失敗した場合は例外を設定します。 list[low:high]に類似しています。 リストの最後からの索引付けはサポートされていません。
int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist)
の間のリストのスライスをアイテムリストの内容に設定します。 list[low:high] = itemlistに類似しています。 itemlistNULLの場合があり、空のリストの割り当て(スライスの削除)を示します。 成功した場合は0を返し、失敗した場合は-1を返します。 リストの最後からの索引付けはサポートされていません。
int PyList_Sort(PyObject *list)
リストのアイテムを所定の位置に並べ替えます。 成功した場合は0を返し、失敗した場合は-1を返します。 これはlist.sort()と同等です。
int PyList_Reverse(PyObject *list)
リストの項目を元に戻します。 成功した場合は0を返し、失敗した場合は-1を返します。 これはlist.reverse()と同等です。
PyObject *PyList_AsTuple(PyObject *list)
list の内容を含む新しいタプルオブジェクトを返します。 tuple(list)と同等です。