Đối tượng từ điển¶
-
PyTypeObject PyDict_Type¶
- Một phần của ABI ổn định.
Phiên bản
PyTypeObjectnày đại diện cho loại từ điển Python. Đây là đối tượng tương tự nhưdicttrong lớp Python.
-
int PyDict_Check(PyObject *p)¶
- Thread safety: Atomic.
Trả về true nếu p là một đối tượng dict hoặc một thể hiện của một kiểu con của loại dict. Chức năng này luôn thành công.
-
int PyDict_CheckExact(PyObject *p)¶
- Thread safety: Atomic.
Trả về true nếu p là một đối tượng dict, nhưng không phải là một thể hiện của kiểu con của kiểu dict. Chức năng này luôn thành công.
-
PyObject *PyDict_New()¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định. Thread safety: Atomic.
Trả lại một từ điển trống mới hoặc
NULLnếu không thành công.
-
PyObject *PyDictProxy_New(PyObject *mapping)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định.
Trả về đối tượng
types.MappingProxyTypeđể ánh xạ thực thi hành vi chỉ đọc. Điều này thường được sử dụng để tạo chế độ xem nhằm ngăn chặn việc sửa đổi từ điển cho các loại lớp không động.
-
PyTypeObject PyDictProxy_Type¶
- Một phần của ABI ổn định.
Đối tượng loại để ánh xạ các đối tượng proxy được tạo bởi
PyDictProxy_New()và cho thuộc tính__dict__chỉ đọc của nhiều loại tích hợp sẵn. Phiên bảnPyDictProxy_Typecung cấp chế độ xem động, chỉ đọc của từ điển cơ bản: các thay đổi đối với từ điển cơ bản được phản ánh trong proxy nhưng bản thân proxy không hỗ trợ các hoạt động đột biến. Điều này tương ứng vớitypes.MappingProxyTypetrong Python.
-
void PyDict_Clear(PyObject *p)¶
- Một phần của ABI ổn định. Thread safety: Atomic.
Làm trống tất cả các cặp khóa-giá trị trong từ điển hiện có.
-
int PyDict_Contains(PyObject *p, PyObject *key)¶
- Một phần của ABI ổn định. Thread safety: Safe for concurrent use on the same object.
Xác định xem từ điển p có chứa key hay không. Nếu một mục trong p khớp với key, 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 Pythonkey in p.
-
int PyDict_ContainsString(PyObject *p, const char *key)¶
- Thread safety: Atomic.
Điều này giống với
PyDict_Contains(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.Added in version 3.13.
-
PyObject *PyDict_Copy(PyObject *p)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định. Thread safety: Atomic.
Trả về một từ điển mới chứa các cặp khóa-giá trị giống như p.
-
int PyDict_SetItem(PyObject *p, PyObject *key, PyObject *val)¶
- Một phần của ABI ổn định. Thread safety: Safe for concurrent use on the same object.
Chèn val vào từ điển p bằng khóa key. key phải là hashable; nếu không,
TypeErrorsẽ được nâng lên. Trả về0nếu thành công hoặc-1nếu thất bại. Hàm does not này đánh cắp một tham chiếu đến val.
-
int PyDict_SetItemString(PyObject *p, const char *key, PyObject *val)¶
- Một phần của ABI ổn định. Thread safety: Atomic.
Điều này giống với
PyDict_SetItem(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.
-
int PyDict_DelItem(PyObject *p, PyObject *key)¶
- Một phần của ABI ổn định. Thread safety: Safe for concurrent use on the same object.
Xóa mục trong từ điển p bằng phím key. key phải là hashable; nếu không,
TypeErrorsẽ được nâng lên. Nếu key không có trong từ điển,KeyErrorsẽ được nâng lên. Trả về0nếu thành công hoặc-1nếu thất bại.
-
int PyDict_DelItemString(PyObject *p, const char *key)¶
- Một phần của ABI ổn định. Thread safety: Atomic.
Điều này giống với
PyDict_DelItem(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.
-
int PyDict_GetItemRef(PyObject *p, PyObject *key, PyObject **result)¶
- Một phần của ABI ổn định kể từ phiên bản 3.13. Thread safety: Safe for concurrent use on the same object.
Trả về một strong reference mới cho đối tượng từ từ điển p có khóa key:
Nếu có khóa, hãy đặt *result thành strong reference mới thành giá trị và trả về
1.Nếu thiếu khóa, hãy đặt *result thành
NULLvà trả về0.Nếu có lỗi, hãy đưa ra một ngoại lệ và trả về
-1.
Added in version 3.13.
Xem thêm chức năng
PyObject_GetItem().
-
PyObject *PyDict_GetItem(PyObject *p, PyObject *key)¶
- Giá trị trả về: Tham chiếu mượn. Một phần của ABI ổn định. Thread safety: Safe to call from multiple threads with external synchronization only.
Trả về borrowed reference cho đối tượng từ từ điển p có khóa key. Trả về
NULLnếu thiếu khóa key without đặt một ngoại lệ.Ghi chú
Các ngoại lệ xảy ra khi lệnh này gọi phương thức
__hash__()và__eq__()đều bị bỏ qua một cách âm thầm. Thay vào đó, hãy ưu tiên chức năngPyDict_GetItemWithError().Ghi chú
Trong free-threaded build, borrowed reference được trả về có thể trở nên không hợp lệ nếu một luồng khác sửa đổi từ điển đồng thời. Thích
PyDict_GetItemRef(), trả về strong reference.Thay đổi trong phiên bản 3.10: Gọi API này mà không có attached thread state đã được cho phép vì lý do lịch sử. Nó không còn được phép.
-
PyObject *PyDict_GetItemWithError(PyObject *p, PyObject *key)¶
- Giá trị trả về: Tham chiếu mượn. Một phần của ABI ổn định. Thread safety: Safe to call from multiple threads with external synchronization only.
Biến thể của
PyDict_GetItem()không loại bỏ ngoại lệ. Trả vềNULLwith một ngoại lệ được đặt nếu xảy ra ngoại lệ. Trả vềNULLwithout một ngoại lệ được đặt nếu không có khóa.Ghi chú
Trong free-threaded build, borrowed reference được trả về có thể trở nên không hợp lệ nếu một luồng khác sửa đổi từ điển đồng thời. Thích
PyDict_GetItemRef(), trả về strong reference.
-
PyObject *PyDict_GetItemString(PyObject *p, const char *key)¶
- Giá trị trả về: Tham chiếu mượn. Một phần của ABI ổn định. Thread safety: Safe to call from multiple threads with external synchronization only.
Điều này giống với
PyDict_GetItem(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.Ghi chú
Các ngoại lệ xảy ra khi lệnh này gọi phương thức
__hash__()và__eq__()hoặc khi tạo đối tượngstrtạm thời đều bị bỏ qua âm thầm. Thay vào đó, hãy ưu tiên sử dụng chức năngPyDict_GetItemWithError()vớiPyUnicode_FromString()key của riêng bạn.Ghi chú
Trong free-threaded build, borrowed reference được trả về có thể trở nên không hợp lệ nếu một luồng khác sửa đổi từ điển đồng thời. Thích
PyDict_GetItemStringRef(), trả về strong reference.
-
int PyDict_GetItemStringRef(PyObject *p, const char *key, PyObject **result)¶
- Một phần của ABI ổn định kể từ phiên bản 3.13. Thread safety: Atomic.
Tương tự như
PyDict_GetItemRef(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.Added in version 3.13.
-
PyObject *PyDict_SetDefault(PyObject *p, PyObject *key, PyObject *defaultobj)¶
- Giá trị trả về: Tham chiếu mượn. Thread safety: Safe to call from multiple threads with external synchronization only.
Điều này giống như
dict.setdefault()cấp Python. Nếu có, nó trả về giá trị tương ứng với key từ từ điển p. Nếu khóa không có trong lệnh, nó sẽ được chèn với giá trị defaultobj và defaultobj được trả về. Hàm này chỉ đánh giá hàm băm của key một lần, thay vì đánh giá nó một cách độc lập để tra cứu và chèn.Added in version 3.4.
Ghi chú
Trong free-threaded build, borrowed reference được trả về có thể trở nên không hợp lệ nếu một luồng khác sửa đổi từ điển đồng thời. Thích
PyDict_SetDefaultRef(), trả về strong reference.
-
int PyDict_SetDefaultRef(PyObject *p, PyObject *key, PyObject *default_value, PyObject **result)¶
- Thread safety: Safe for concurrent use on the same object.
Chèn default_value vào từ điển p với khóa key nếu khóa này chưa có trong từ điển. Nếu result không phải là
NULLthì *result được đặt thành strong reference thành default_value, nếu khóa không có hoặc giá trị hiện tại, nếu key đã có trong từ điển. Trả về1nếu có khóa và default_value không được chèn hoặc0nếu không có khóa và default_value đã được chèn. Nếu thất bại, trả về-1, đặt ngoại lệ và đặt*resultthànhNULL.Để rõ ràng: nếu bạn có một tham chiếu mạnh đến default_value trước khi gọi hàm này, thì sau khi nó trả về, bạn giữ một tham chiếu mạnh đến cả default_value và *result (nếu không phải là
NULL). Chúng có thể tham chiếu đến cùng một đối tượng: trong trường hợp đó bạn giữ hai tham chiếu riêng biệt tới nó.Added in version 3.13.
-
int PyDict_Pop(PyObject *p, PyObject *key, PyObject **result)¶
- Thread safety: Safe for concurrent use on the same object.
Xóa key khỏi từ điển p và tùy ý trả về giá trị đã xóa. Không nâng
KeyErrornếu thiếu key.Nếu có khóa, hãy đặt *result thành tham chiếu mới cho giá trị đã xóa nếu result không phải là
NULLvà trả về1.Nếu thiếu khóa, hãy đặt *result thành
NULLnếu result không phải làNULLvà trả về0.Nếu có lỗi, hãy đưa ra một ngoại lệ và trả về
-1.
Tương tự như
dict.pop(), nhưng không có giá trị mặc định và không tăngKeyErrornếu thiếu key.Added in version 3.13.
-
int PyDict_PopString(PyObject *p, const char *key, PyObject **result)¶
- Thread safety: Atomic.
Tương tự như
PyDict_Pop(), nhưng key được chỉ định là chuỗi byte được mã hóa const char* UTF-8, thay vì PyObject*.Added in version 3.13.
-
PyObject *PyDict_Items(PyObject *p)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định. Thread safety: Atomic.
Trả về
PyListObjectchứa tất cả các mục từ từ điển.
-
PyObject *PyDict_Keys(PyObject *p)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định. Thread safety: Atomic.
Trả về
PyListObjectchứa tất cả các khóa từ từ điển.
-
PyObject *PyDict_Values(PyObject *p)¶
- Giá trị trả về: Tham chiếu mới. Một phần của ABI ổn định. Thread safety: Atomic.
Trả về
PyListObjectchứa tất cả các giá trị từ từ điển p.
-
Py_ssize_t PyDict_Size(PyObject *p)¶
- Một phần của ABI ổn định. Thread safety: Atomic.
Trả về số mục trong từ điển. Điều này tương đương với
len(p)trên từ điển.
-
Py_ssize_t PyDict_GET_SIZE(PyObject *p)¶
- Thread safety: Atomic.
Tương tự như
PyDict_Size()nhưng không có tính năng kiểm tra lỗi.
-
int PyDict_Next(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue)¶
- Một phần của ABI ổn định. Thread safety: Safe to call from multiple threads with external synchronization only.
Lặp lại tất cả các cặp khóa-giá trị trong từ điển p.
Py_ssize_tđược tham chiếu bởi ppos phải được khởi tạo thành0trước lệnh gọi đầu tiên tới hàm này để bắt đầu lặp lại; hàm trả về true cho từng cặp trong từ điển và trả về false khi tất cả các cặp đã được báo cáo. Các tham số pkey và pvalue phải trỏ đến các biến PyObject* sẽ được điền lần lượt bằng từng khóa và giá trị hoặc có thể làNULL. Bất kỳ tài liệu tham khảo nào được trả lại thông qua chúng đều được mượn. ppos không nên thay đổi trong quá trình lặp lại. Giá trị của nó biểu thị các độ lệch trong cấu trúc từ điển nội bộ và do cấu trúc thưa thớt nên các độ lệch không liên tiếp.Ví dụ:
Giá trị PyObject *key, *; Py_ssize_t pos = 0; while (PyDict_Next(self->dict, &pos, &key, &value)) { /* làm điều gì đó thú vị với các giá trị... */ ... }
Từ điển p không được thay đổi trong quá trình lặp lại. Việc sửa đổi giá trị của các khóa khi bạn lặp lại từ điển là an toàn, nhưng chỉ với điều kiện là bộ khóa không thay đổi. Ví dụ:
Giá trị PyObject *key, *; Py_ssize_t pos = 0; while (PyDict_Next(self->dict, &pos, &key, &value)) { dài i = PyLong_AsLong(giá trị); if (i == -1 && PyErr_Occurred()) { trả về -1; } PyObject *o = PyLong_FromLong(i + 1); nếu (o == NULL) trả về -1; if (PyDict_SetItem(self->dict, key, o) < 0) { Py_DECREF(o); trả về -1; } Py_DECREF(o); }
Chức năng này không an toàn theo luồng trong bản dựng free-threaded nếu không có đồng bộ hóa bên ngoài. Bạn có thể sử dụng
Py_BEGIN_CRITICAL_SECTIONđể khóa từ điển trong khi lặp lại nóPy_BEGIN_CRITICAL_SECTION(tự->dict); while (PyDict_Next(self->dict, &pos, &key, &value)) { ... } Py_END_CRITICAL_SECTION();
Ghi chú
Trên bản dựng có luồng tự do, chức năng này có thể được sử dụng một cách an toàn bên trong phần quan trọng. Tuy nhiên, các tham chiếu được trả về cho pkey và pvalue là borrowed và chỉ hợp lệ khi phần quan trọng được giữ. Nếu bạn cần sử dụng các đối tượng này bên ngoài phần quan trọng hoặc khi phần quan trọng có thể bị tạm dừng, hãy tạo strong reference (ví dụ: sử dụng
Py_NewRef()).
-
int PyDict_Merge(PyObject *a, PyObject *b, int override)¶
- Một phần của ABI ổn định. Thread safety: Safe for concurrent use on the same object.
Lặp lại đối tượng ánh xạ b thêm các cặp khóa-giá trị vào từ điển a. b có thể là một từ điển hoặc bất kỳ đối tượng nào hỗ trợ
PyMapping_Keys()vàPyObject_GetItem(). Nếu override là đúng, các cặp hiện có trong a sẽ được thay thế nếu tìm thấy khóa trùng khớp trong b, nếu không thì các cặp sẽ chỉ được thêm nếu không có khóa khớp trong a. Trả về0nếu thành công hoặc-1nếu có ngoại lệ xảy ra.Ghi chú
Trong free-threaded build, khi b là
dict(với trình lặp tiêu chuẩn), cả a và b đều bị khóa trong suốt thời gian hoạt động. Khi b là ánh xạ không chính tả, chỉ a bị khóa; b có thể được sửa đổi đồng thời bởi một luồng khác.
-
int PyDict_Update(PyObject *a, PyObject *b)¶
- Một phần của ABI ổn định. Thread safety: Safe for concurrent use on the same object.
Điều này giống với
PyDict_Merge(a, b, 1)trong C và tương tự nhưa.update(b)trong Python ngoại trừ việcPyDict_Update()không quay trở lại việc lặp lại một chuỗi các cặp giá trị khóa nếu đối số thứ hai không có thuộc tính "khóa". Trả về0nếu thành công hoặc-1nếu có ngoại lệ.Ghi chú
Trong free-threaded build, khi b là
dict(với trình lặp tiêu chuẩn), cả a và b đều bị khóa trong suốt thời gian hoạt động. Khi b là ánh xạ không chính tả, chỉ a bị khóa; b có thể được sửa đổi đồng thời bởi một luồng khác.
-
int PyDict_MergeFromSeq2(PyObject *a, PyObject *seq2, int override)¶
- Một phần của ABI ổn định. Thread safety: Safe for concurrent use on the same object.
Cập nhật hoặc hợp nhất vào từ điển a, từ các cặp khóa-giá trị trong seq2. seq2 phải là một đối tượng có thể lặp tạo ra các đối tượng có thể lặp có độ dài 2, được xem dưới dạng cặp khóa-giá trị. Trong trường hợp khóa trùng lặp, người cuối cùng sẽ thắng nếu override đúng, nếu không thì người đầu tiên sẽ thắng. Trả về
0nếu thành công hoặc-1nếu có ngoại lệ. Python tương đương (ngoại trừ giá trị trả về):def PyDict_MergeFromSeq2(a, seq2, ghi đè): đối với khóa, giá trị trong seq2: nếu ghi đè hoặc khóa không có trong: a[khóa] = giá trị
Ghi chú
Trong bản dựng free-threaded, chỉ có a bị khóa. Việc lặp lại seq2 không được đồng bộ hóa; seq2 có thể được sửa đổi đồng thời bởi một luồng khác.
-
int PyDict_AddWatcher(PyDict_WatchCallback callback)¶
- Thread safety: Safe to call from multiple threads with external synchronization only.
Đăng ký callback làm người theo dõi từ điển. Trả về một id số nguyên không âm phải được chuyển cho các cuộc gọi trong tương lai tới
PyDict_Watch(). Trong trường hợp có lỗi (ví dụ: không còn ID người theo dõi), hãy trả về-1và đặt ngoại lệ.Ghi chú
Chức năng này không được đồng bộ hóa nội bộ. Trong bản dựng free-threaded, người gọi phải đảm bảo không có cuộc gọi đồng thời nào tới
PyDict_AddWatcher()hoặcPyDict_ClearWatcher()đang diễn ra.Added in version 3.12.
-
int PyDict_ClearWatcher(int watcher_id)¶
- Thread safety: Safe to call from multiple threads with external synchronization only.
Trình theo dõi rõ ràng được xác định bởi watcher_id trước đó được trả về từ
PyDict_AddWatcher(). Trả về0nếu thành công,-1nếu có lỗi (ví dụ: nếu watcher_id đã cho chưa bao giờ được đăng ký.)Ghi chú
Chức năng này không được đồng bộ hóa nội bộ. Trong bản dựng free-threaded, người gọi phải đảm bảo không có cuộc gọi đồng thời nào tới
PyDict_AddWatcher()hoặcPyDict_ClearWatcher()đang diễn ra.Added in version 3.12.
-
int PyDict_Watch(int watcher_id, PyObject *dict)¶
- Thread safety: Safe to call without external synchronization on distinct objects.
Đánh dấu từ điển dict là đã xem. Cuộc gọi lại được watcher_id cấp cho
PyDict_AddWatcher()sẽ được gọi khi dict được sửa đổi hoặc hủy phân bổ. Trả về0nếu thành công hoặc-1nếu có lỗi.Added in version 3.12.
-
int PyDict_Unwatch(int watcher_id, PyObject *dict)¶
- Thread safety: Safe to call without external synchronization on distinct objects.
Đánh dấu từ điển dict là không còn xem. Cuộc gọi lại được watcher_id cấp cho
PyDict_AddWatcher()sẽ không còn được gọi khi dict được sửa đổi hoặc hủy phân bổ. Lệnh này trước đây phải được người theo dõi này theo dõi. Trả về0nếu thành công hoặc-1nếu có lỗi.Added in version 3.12.
-
type PyDict_WatchEvent¶
Bảng liệt kê các sự kiện có thể có của trình theo dõi từ điển:
PyDict_EVENT_ADDED,PyDict_EVENT_MODIFIED,PyDict_EVENT_DELETED,PyDict_EVENT_CLONED,PyDict_EVENT_CLEAREDhoặcPyDict_EVENT_DEALLOCATED.Added in version 3.12.
-
typedef int (*PyDict_WatchCallback)(PyDict_WatchEvent event, PyObject *dict, PyObject *key, PyObject *new_value)¶
Loại chức năng gọi lại của trình theo dõi dict.
Nếu event là
PyDict_EVENT_CLEAREDhoặcPyDict_EVENT_DEALLOCATEDthì cả key và new_value đều sẽ làNULL. Nếu event làPyDict_EVENT_ADDEDhoặcPyDict_EVENT_MODIFIEDthì new_value sẽ là giá trị mới cho key. Nếu event làPyDict_EVENT_DELETED, key sẽ bị xóa khỏi từ điển và new_value sẽ làNULL.PyDict_EVENT_CLONEDxảy ra khi dict trước đó trống và một lệnh khác được hợp nhất vào đó. Để duy trì hiệu quả của hoạt động này, các sự kiệnPyDict_EVENT_ADDEDtrên mỗi phím không được phát hành trong trường hợp này; thay vào đó, mộtPyDict_EVENT_CLONEDduy nhất được phát hành và key sẽ là từ điển nguồn.Cuộc gọi lại có thể kiểm tra nhưng không được sửa đổi dict; làm như vậy có thể có những tác động không thể đoán trước, bao gồm cả đệ quy vô hạn. Không kích hoạt việc thực thi mã Python trong lệnh gọi lại, vì nó có thể sửa đổi lệnh chính tả như một tác dụng phụ.
Nếu event là
PyDict_EVENT_DEALLOCATED, việc lấy một tham chiếu mới trong lệnh gọi lại tới từ điển sắp bị phá hủy sẽ phục hồi nó và ngăn không cho nó được giải phóng vào lúc này. Khi đối tượng được phục hồi bị phá hủy sau đó, mọi lệnh gọi lại của người theo dõi đang hoạt động tại thời điểm đó sẽ được gọi lại.Lệnh gọi lại diễn ra trước khi sửa đổi được thông báo đối với dict diễn ra, do đó có thể kiểm tra trạng thái trước đó của dict.
Nếu lệnh gọi lại đặt ngoại lệ, nó phải trả về
-1; ngoại lệ này sẽ được in dưới dạng ngoại lệ không thể xử lý được bằngPyErr_WriteUnraisable(). Nếu không nó sẽ trả về0.Có thể đã có một ngoại lệ đang chờ xử lý được đặt khi truy cập lệnh gọi lại. Trong trường hợp này, lệnh gọi lại sẽ trả về
0với cùng một ngoại lệ vẫn được đặt. Điều này có nghĩa là lệnh gọi lại không được gọi bất kỳ API nào khác có thể đặt ngoại lệ trừ khi nó lưu và xóa trạng thái ngoại lệ trước, đồng thời khôi phục nó trước khi quay lại.Added in version 3.12.
Đối tượng xem từ điển¶
-
int PyDictViewSet_Check(PyObject *op)¶
Trả về true nếu op là dạng xem của một tập hợp bên trong từ điển. Điều này hiện tương đương với PyDictKeys_Check(op) || PyDictItems_Check(op). Chức năng này luôn thành công.
-
PyTypeObject PyDictKeys_Type¶
- Một phần của ABI ổn định.
Nhập đối tượng để xem các khóa từ điển. Trong Python, đây là loại đối tượng được trả về bởi
dict.keys().
-
int PyDictKeys_Check(PyObject *op)¶
Trả về true nếu op là một phiên bản của chế độ xem khóa từ điển. Chức năng này luôn thành công.
-
PyTypeObject PyDictValues_Type¶
- Một phần của ABI ổn định.
Nhập đối tượng để xem các giá trị từ điển. Trong Python, đây là loại đối tượng được trả về bởi
dict.values().
-
int PyDictValues_Check(PyObject *op)¶
Trả về true nếu op là một phiên bản của chế độ xem giá trị từ điển. Chức năng này luôn thành công.
-
PyTypeObject PyDictItems_Type¶
- Một phần của ABI ổn định.
Nhập đối tượng để xem các mục từ điển. Trong Python, đây là loại đối tượng được trả về bởi
dict.items().
Từ điển đặt hàng¶
C API của Python cung cấp giao diện cho collections.OrderedDict từ C. Vì Python 3.7, các từ điển được sắp xếp theo mặc định, do đó thường ít cần đến các hàm này; thích PyDict* hơn nếu có thể.
-
PyTypeObject PyODict_Type¶
Nhập đối tượng cho từ điển được sắp xếp. Đây là đối tượng tương tự như
collections.OrderedDicttrong lớp Python.
-
int PyODict_Check(PyObject *od)¶
Trả về true nếu od là một đối tượng từ điển có thứ tự hoặc một thể hiện của một kiểu con của loại
OrderedDict. Chức năng này luôn thành công.
-
int PyODict_CheckExact(PyObject *od)¶
Trả về true nếu od là một đối tượng từ điển có thứ tự, nhưng không phải là phiên bản của kiểu con của loại
OrderedDict. Chức năng này luôn thành công.
-
PyTypeObject PyODictKeys_Type¶
Tương tự như
PyDictKeys_Typecho các từ điển có thứ tự.
-
PyTypeObject PyODictValues_Type¶
Tương tự như
PyDictValues_Typecho các từ điển có thứ tự.
-
PyTypeObject PyODictItems_Type¶
Tương tự như
PyDictItems_Typecho các từ điển có thứ tự.
-
PyObject *PyODict_New(void)¶
Trả lại một từ điển mới có thứ tự trống hoặc
NULLnếu không thành công.Điều này tương tự với
PyDict_New().
-
int PyODict_SetItem(PyObject *od, PyObject *key, PyObject *value)¶
Chèn value vào từ điển có thứ tự od với khóa key. Trả về
0nếu thành công hoặc-1với ngoại lệ được đặt nếu thất bại.Điều này tương tự với
PyDict_SetItem().
-
int PyODict_DelItem(PyObject *od, PyObject *key)¶
Xóa mục trong từ điển được sắp xếp od bằng phím key. Trả về
0nếu thành công hoặc-1với ngoại lệ được đặt nếu thất bại.Điều này tương tự với
PyDict_DelItem().
Đây là các bí danh soft deprecated cho API PyDict:
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|