리스트 객체

type PyListObject

PyObject의 서브 형은 파이썬 리스트 객체를 나타냅니다.

PyTypeObject PyList_Type
Part of the 안정 ABI.

PyTypeObject 인스턴스는 파이썬 리스트 형을 나타냅니다. 이것은 파이썬 계층의 list와 같은 객체입니다.

int PyList_Check(PyObject *p)

p가 리스트 객체나 리스트 형의 서브 형 인스턴스면 참을 반환합니다. 이 함수는 항상 성공합니다.

int PyList_CheckExact(PyObject *p)

p가 리스트 객체이지만 리스트 형의 서브 형의 인스턴스가 아니면 참을 반환합니다. 이 함수는 항상 성공합니다.

PyObject *PyList_New(Py_ssize_t len)
반환값: 새 참조. Part of the 안정 ABI.

성공하면 길이 len 인 새 리스트를, 실패하면 NULL을 반환합니다.

참고

If len is greater than zero, the returned list object’s items are set to NULL. Thus you cannot use abstract API functions such as PySequence_SetItem() or expose the object to Python code before setting all items to a real object with PyList_SetItem().

Py_ssize_t PyList_Size(PyObject *list)
Part of the 안정 ABI.

list에서 리스트 객체의 길이를 반환합니다; 이는 리스트 객체에 대한 len(list)와 동등합니다.

Py_ssize_t PyList_GET_SIZE(PyObject *list)

PyList_Size()와 유사하지만, 에러 검사가 없습니다.

PyObject *PyList_GetItem(PyObject *list, Py_ssize_t index)
반환값: 빌린 참조. Part of the 안정 ABI.

Return the object at position index in the list pointed to by list. The position must be non-negative; indexing from the end of the list is not supported. If index is out of bounds (<0 or >=len(list)), return NULL and set an IndexError exception.

PyObject *PyList_GET_ITEM(PyObject *list, Py_ssize_t i)
반환값: 빌린 참조.

PyList_GetItem()와 유사하지만, 에러 검사가 없습니다.

int PyList_SetItem(PyObject *list, Py_ssize_t index, PyObject *item)
Part of the 안정 ABI.

리스트의 인덱스 index에 있는 항목을 item으로 설정합니다. 성공하면 0을 반환합니다. index가 범위를 벗어나면, -1을 반환하고 IndexError 예외를 설정합니다.

참고

이 함수는 item에 대한 참조를 “훔치고” 영향을 받는 위치의 리스트에 이미 있는 항목에 대한 참조를 버립니다.

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

에러 검사 없는 PyList_SetItem()의 매크로 형식. 일반적으로 이전 내용이 없는 새 리스트를 채우는 데 사용됩니다.

참고

이 매크로는 item에 대한 참조를 “훔치고”, PyList_SetItem()과는 달리 대체되는 항목에 대한 참조를 버리지 않습니다; listi 위치에 있는 참조는 누수를 일으킵니다.

int PyList_Insert(PyObject *list, Py_ssize_t index, PyObject *item)
Part of the 안정 ABI.

항목 item을 리스트 list의 인덱스 index 앞에 삽입합니다. 성공하면 0을 반환합니다; 실패하면 -1을 반환하고 예외를 설정합니다. list.insert(index, item)에 해당합니다.

int PyList_Append(PyObject *list, PyObject *item)
Part of the 안정 ABI.

리스트 list의 끝에 객체 item을 추가합니다. 성공하면 0을 반환합니다; 실패하면 -1을 반환하고 예외를 설정합니다. list.append(item)에 해당합니다.

PyObject *PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high)
반환값: 새 참조. Part of the 안정 ABI.

list에서 lowhigh 사이에있는 객체들을 포함하는 리스트를 반환합니다. 실패하면 NULL을 반환하고 예외를 설정합니다. list[low:high]에 해당합니다. 리스트 끝에서부터의 인덱싱은 지원되지 않습니다.

int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist)
Part of the 안정 ABI.

lowhigh 사이의 list슬라이스를 itemlist의 내용으로 설정합니다. list[low:high] = itemlist에 해당합니다. itemlistNULL 일 수 있는데, 빈 리스트의 대입을 나타냅니다 (슬라이스 삭제). 성공하면 0을, 실패하면 -1을 반환합니다. 리스트 끝에서부터의 인덱싱은 지원되지 않습니다.

int PyList_Sort(PyObject *list)
Part of the 안정 ABI.

list 항목을 제자리에서 정렬합니다. 성공하면 0을, 실패하면 -1을 반환합니다. 이것은 list.sort()와 동등합니다.

int PyList_Reverse(PyObject *list)
Part of the 안정 ABI.

list의 항목을 제자리에서 뒤집습니다. 성공하면 0을, 실패하면 -1을 반환합니다. 이것은 list.reverse()와 동등합니다.

PyObject *PyList_AsTuple(PyObject *list)
반환값: 새 참조. Part of the 안정 ABI.

list의 내용을 포함하는 새 튜플 객체를 반환합니다; tuple(list)와 동등합니다.