Giao thức trình tự

int PySequence_Check(PyObject *o)
Một phần của ABI ổn định.

Trả về 1 nếu đối tượng cung cấp giao thức trình tự và 0 nếu không. Lưu ý rằng nó trả về 1 cho các lớp Python bằng phương thức __getitem__(), trừ khi chúng là các lớp con dict, vì nói chung không thể xác định loại khóa nào mà lớp đó hỗ trợ. Chức năng này luôn thành công.

Py_ssize_t PySequence_Size(PyObject *o)
Py_ssize_t PySequence_Length(PyObject *o)
Một phần của ABI ổn định.

Trả về số lượng đối tượng theo thứ tự o nếu thành công và -1 nếu thất bại. Điều này tương đương với biểu thức Python len(o).

PyObject *PySequence_Concat(PyObject *o1, PyObject *o2)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.

Trả về kết hợp của o1o2 nếu thành công và NULL nếu thất bại. Điều này tương đương với biểu thức Python o1 + o2.

PyObject *PySequence_Repeat(PyObject *o, Py_ssize_t count)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.

Trả về kết quả của việc lặp lại đối tượng chuỗi o count lần hoặc NULL khi thất bại. Điều này tương đương với biểu thức Python o * count.

PyObject *PySequence_InPlaceConcat(PyObject *o1, PyObject *o2)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.

Trả về kết hợp của o1o2 nếu thành công và NULL nếu thất bại. Thao tác được thực hiện in-place khi o1 hỗ trợ nó. Điều này tương đương với biểu thức Python o1 += o2.

PyObject *PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.

Trả về kết quả của việc lặp lại đối tượng chuỗi o count lần hoặc NULL khi thất bại. Thao tác được thực hiện in-place khi o hỗ trợ nó. Điều này tương đương với biểu thức Python o *= count.

PyObject *PySequence_GetItem(PyObject *o, Py_ssize_t i)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.

Trả về phần tử ith của o hoặc NULL khi bị lỗi. Điều này tương đương với biểu thức Python o[i].

PyObject *PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.

Trả về lát đối tượng chuỗi o giữa i1i2 hoặc NULL khi thất bại. Điều này tương đương với biểu thức Python o[i1:i2].

int PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v)
Một phần của ABI ổn định.

Gán đối tượng v cho phần tử ith của o. Đưa ra một ngoại lệ và trả về -1 khi thất bại; trả về 0 khi thành công. Điều này tương đương với câu lệnh Python o[i] = v. Hàm does not này đánh cắp một tham chiếu đến v.

Nếu vNULL, phần tử sẽ bị xóa, nhưng tính năng này không được dùng nữa để sử dụng PySequence_DelItem().

int PySequence_DelItem(PyObject *o, Py_ssize_t i)
Một phần của ABI ổn định.

Xóa phần tử ith của đối tượng o. Trả về -1 khi thất bại. Điều này tương đương với câu lệnh Python del o[i].

int PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, PyObject *v)
Một phần của ABI ổn định.

Gán đối tượng chuỗi v cho lát cắt trong đối tượng chuỗi o từ i1 đến i2. Điều này tương đương với câu lệnh Python o[i1:i2] = v.

int PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2)
Một phần của ABI ổn định.

Xóa lát cắt theo thứ tự đối tượng o từ i1 đến i2. Trả về -1 khi thất bại. Điều này tương đương với câu lệnh Python del o[i1:i2].

Py_ssize_t PySequence_Count(PyObject *o, PyObject *value)
Một phần của ABI ổn định.

Trả về số lần xuất hiện của value trong o, tức là trả về số khóa của o[key] == value. Nếu thất bại, hãy trả lại -1. Điều này tương đương với biểu thức Python o.count(value).

int PySequence_Contains(PyObject *o, PyObject *value)
Một phần của ABI ổn định.

Xác định xem o có chứa value hay không. Nếu một mục trong o bằng value, trả về 1, nếu không thì trả về 0. Nếu có lỗi, hãy trả về -1. Điều này tương đương với biểu thức Python value in o.

int PySequence_In(PyObject *o, PyObject *value)
Một phần của ABI ổn định.

Bí danh cho PySequence_Contains().

Sắp loại bỏ từ phiên bản 3.14: Hàm này là soft deprecated và không còn được sử dụng để viết mã mới nữa.

Py_ssize_t PySequence_Index(PyObject *o, PyObject *value)
Một phần của ABI ổn định.

Trả về chỉ mục đầu tiên io[i] == value. Nếu có lỗi, hãy trả về -1. Điều này tương đương với biểu thức Python o.index(value).

PyObject *PySequence_List(PyObject *o)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.

Trả về một đối tượng danh sách có cùng nội dung với chuỗi hoặc o có thể lặp lại hoặc NULL khi bị lỗi. Danh sách trả về được đảm bảo là mới. Điều này tương đương với biểu thức Python list(o).

PyObject *PySequence_Tuple(PyObject *o)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.

Trả về một đối tượng tuple có cùng nội dung với chuỗi hoặc o có thể lặp lại hoặc NULL khi bị lỗi. Nếu o là một bộ dữ liệu, một tham chiếu mới sẽ được trả về, nếu không thì một bộ dữ liệu sẽ được xây dựng với nội dung phù hợp. Điều này tương đương với biểu thức Python tuple(o).

PyObject *PySequence_Fast(PyObject *o, const char *m)
Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.

Trả về chuỗi hoặc o có thể lặp lại dưới dạng đối tượng mà họ hàm PySequence_Fast* khác có thể sử dụng được. Nếu đối tượng không phải là một chuỗi hoặc có thể lặp lại, hãy tăng TypeError với m làm văn bản thông báo. Trả về NULL khi thất bại.

Do đó, các hàm PySequence_Fast* được đặt tên vì chúng giả sử oPyTupleObject hoặc PyListObject và truy cập trực tiếp vào các trường dữ liệu của o.

Là chi tiết triển khai CPython, nếu o đã là một chuỗi hoặc danh sách thì nó sẽ được trả về.

Py_ssize_t PySequence_Fast_GET_SIZE(PyObject *o)

Trả về độ dài của o, giả sử rằng o được trả về bởi PySequence_Fast()o không phải là NULL. Kích thước cũng có thể được truy xuất bằng cách gọi PySequence_Size() trên o, nhưng PySequence_Fast_GET_SIZE() nhanh hơn vì nó có thể giả sử o là một danh sách hoặc bộ dữ liệu.

PyObject *PySequence_Fast_GET_ITEM(PyObject *o, Py_ssize_t i)
Giá trị trả về: Tham chiếu mượn.

Trả về phần tử thứ icủa o, giả sử rằng o được trả về bởi PySequence_Fast(), o không phải là NULLi nằm trong giới hạn.

PyObject **PySequence_Fast_ITEMS(PyObject *o)

Trả về mảng cơ bản của con trỏ PyObject. Giả sử rằng o được trả về bởi PySequence_Fast()o không phải là NULL.

Lưu ý, nếu danh sách bị thay đổi kích thước, việc phân bổ lại có thể định vị lại mảng mục. Vì vậy, chỉ sử dụng con trỏ mảng cơ bản trong các ngữ cảnh mà chuỗi không thể thay đổi.

PyObject *PySequence_ITEM(PyObject *o, Py_ssize_t i)
Giá trị trả về: Tham chiếu mới.

Trả về phần tử ith của o hoặc NULL khi bị lỗi. Dạng PySequence_GetItem() nhanh hơn nhưng không kiểm tra xem PySequence_Check() trên o có đúng không và không điều chỉnh các chỉ số âm.