リストオブジェクト
- type PyListObject
- PyObject のこのサブタイプは、Pythonリストオブジェクトを表します。
- PyTypeObject PyList_Type
- PyTypeObject のこのインスタンスは、Pythonリストタイプを表します。 これは、Pythonレイヤーの
list
と同じオブジェクトです。
- int PyList_Check(PyObject *p)
p がリストオブジェクトまたはリストタイプのサブタイプのインスタンスである場合、trueを返します。
バージョン2.2で変更:サブタイプの受け入れを許可しました。
- int PyList_CheckExact(PyObject *p)
p がリストオブジェクトであるが、リストタイプのサブタイプのインスタンスではない場合、trueを返します。
バージョン2.2の新機能。
- PyObject *PyList_New(Py_ssize_t len)
成功した場合は長さ len の新しいリストを返し、失敗した場合は NULL を返します。
ノート
len がゼロより大きい場合、返されるリストオブジェクトのアイテムは
NULL
に設定されます。 したがって、 PyList_SetItem()を使用してすべてのアイテムを実際のオブジェクトに設定する前に、 PySequence_SetItem()などの抽象API関数を使用したり、オブジェクトをPythonコードに公開したりすることはできません。バージョン2.5で変更:この関数は、サイズに
int
を使用していました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。
- Py_ssize_t PyList_Size(PyObject *list)
list のリストオブジェクトの長さを返します。 これは、リストオブジェクトの
len(list)
と同等です。バージョン2.5で変更:この関数は
int
を返しました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。
- Py_ssize_t PyList_GET_SIZE(PyObject *list)
エラーチェックなしの PyList_Size()のマクロ形式。
バージョン2.5で変更:このマクロは
int
を返しました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。
- PyObject *PyList_GetItem(PyObject *list, Py_ssize_t index)
list が指すリストの index の位置にあるオブジェクトを返します。 位置は負でない必要があります。 リストの最後からの索引付けはサポートされていません。 もしも索引範囲外です(<0または> = len(list))、戻り値ヌルを設定します
IndexError
例外。バージョン2.5で変更:この関数は、インデックスに
int
を使用していました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。
- PyObject *PyList_GET_ITEM(PyObject *list, Py_ssize_t i)
エラーチェックなしの PyList_GetItem()のマクロ形式。
バージョン2.5で変更:このマクロは i に
int
を使用していました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。
- int PyList_SetItem(PyObject *list, Py_ssize_t index, PyObject *item)
リスト内のインデックスインデックスのアイテムをアイテムに設定します。 成功した場合は
0
を返します。 index が範囲外の場合は、-1
を返し、IndexError
例外を設定します。ノート
この関数は、 item への参照を「盗み」、影響を受ける位置ですでにリストにあるアイテムへの参照を破棄します。
バージョン2.5で変更:この関数は、インデックスに
int
を使用していました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。
- void PyList_SET_ITEM(PyObject *list, Py_ssize_t i, PyObject *o)
エラーチェックなしの PyList_SetItem()のマクロ形式。 これは通常、以前のコンテンツがない新しいリストに入力するためにのみ使用されます。
ノート
このマクロは、 item への参照を「盗み」、 PyList_SetItem()とは異なり、置き換えられるアイテムへの参照を破棄しません。 リストの i の位置にある参照はすべてリークされます。
バージョン2.5で変更:このマクロは i に
int
を使用していました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。
- int PyList_Insert(PyObject *list, Py_ssize_t index, PyObject *item)
アイテムアイテムをリストリストのインデックスインデックスの前に挿入します。 成功した場合は
0
を返します。-1
を返し、失敗した場合は例外を設定します。list.insert(index, item)
に類似しています。バージョン2.5で変更:この関数は、インデックスに
int
を使用していました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。
- リストリストの最後にオブジェクトアイテムを追加します。 成功した場合は
0
を返します。-1
を返し、失敗した場合は例外を設定します。list.append(item)
に類似しています。
- PyObject *PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high)
list 内のオブジェクト between low と high を含むオブジェクトのリストを返します。 NULL を返し、失敗した場合は例外を設定します。
list[low:high]
に類似しています。 リストの最後からの索引付けはサポートされていません。バージョン2.5で変更:この関数は、低および高に
int
を使用していました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。
- int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist)
低と高の間のリストのスライスをアイテムリストの内容に設定します。
list[low:high] = itemlist
に類似しています。 itemlist は NULL である可能性があり、空のリストの割り当て(スライスの削除)を示します。 成功した場合は0
を返し、失敗した場合は-1
を返します。 リストの最後からの索引付けはサポートされていません。バージョン2.5で変更:この関数は、低および高に
int
を使用していました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。
- int PyList_Sort(PyObject *list)
- リストのアイテムを所定の位置に並べ替えます。 成功した場合は
0
を返し、失敗した場合は-1
を返します。 これはlist.sort()
と同等です。
- int PyList_Reverse(PyObject *list)
- リストの項目を元に戻します。 成功した場合は
0
を返し、失敗した場合は-1
を返します。 これはlist.reverse()
と同等です。
- list の内容を含む新しいタプルオブジェクトを返します。
tuple(list)
と同等です。