This document is for an old version of Python that is no longer supported. You should upgrade, and read the Python documentation for the current stable release.

Mapping Protocol

See also PyObject_GetItem(), PyObject_SetItem() and PyObject_DelItem().

int PyMapping_Check(PyObject *o)

Return 1 if the object provides the mapping protocol or supports slicing, and 0 otherwise. Note that it returns 1 for Python classes with a __getitem__() method, since in general it is impossible to determine what type of keys the class supports. This function always succeeds.

Py_ssize_t PyMapping_Size(PyObject *o)
Py_ssize_t PyMapping_Length(PyObject *o)

Returns the number of keys in object o on success, and -1 on failure. This is equivalent to the Python expression len(o).

PyObject* PyMapping_GetItemString(PyObject *o, const char *key)
Return value: New reference.

Return element of o corresponding to the string key or NULL on failure. This is the equivalent of the Python expression o[key]. See also PyObject_GetItem().

int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)

Map the string key to the value v in object o. Returns -1 on failure. This is the equivalent of the Python statement o[key] = v. See also PyObject_SetItem(). This function does not steal a reference to v.

int PyMapping_DelItem(PyObject *o, PyObject *key)

Remove the mapping for the object key from the object o. Return -1 on failure. This is equivalent to the Python statement del o[key]. This is an alias of PyObject_DelItem().

int PyMapping_DelItemString(PyObject *o, const char *key)

Remove the mapping for the string key from the object o. Return -1 on failure. This is equivalent to the Python statement del o[key].

int PyMapping_HasKey(PyObject *o, PyObject *key)

Return 1 if the mapping object has the key key and 0 otherwise. This is equivalent to the Python expression key in o. This function always succeeds.

Note that exceptions which occur while calling the __getitem__() method will get suppressed. To get error reporting use PyObject_GetItem() instead.

int PyMapping_HasKeyString(PyObject *o, const char *key)

Return 1 if the mapping object has the key key and 0 otherwise. This is equivalent to the Python expression key in o. This function always succeeds.

Note that exceptions which occur while calling the __getitem__() method and creating a temporary string object will get suppressed. To get error reporting use PyMapping_GetItemString() instead.

PyObject* PyMapping_Keys(PyObject *o)
Return value: New reference.

On success, return a list of the keys in object o. On failure, return NULL.

Changed in version 3.7: Previously, the function returned a list or a tuple.

PyObject* PyMapping_Values(PyObject *o)
Return value: New reference.

On success, return a list of the values in object o. On failure, return NULL.

Changed in version 3.7: Previously, the function returned a list or a tuple.

PyObject* PyMapping_Items(PyObject *o)
Return value: New reference.

On success, return a list of the items in object o, where each item is a tuple containing a key-value pair. On failure, return NULL.

Changed in version 3.7: Previously, the function returned a list or a tuple.

Previous topic

Sequence Protocol

Next topic

Iterator Protocol

This Page

Morty Proxy This is a proxified and sanitized view of the page, visit original site.