7.3.1 Dictionary Objects

PyDictObject
This subtype of PyObject represents a Python dictionary object.

PyTypeObject PyDict_Type
This instance of PyTypeObject represents the Python dictionary type.

int PyDict_Check(PyObject *p)
Returns true if its argument is a PyDictObject.

PyObject* PyDict_New()
Returns a new empty dictionary.

void PyDict_Clear(PyDictObject *p)
Empties an existing dictionary of all key/value pairs.

int PyDict_SetItem(PyDictObject *p, PyObject *key, PyObject *val)
Inserts value into the dictionary with a key of key. Both key and value should be PyObjects, and key should be hashable.

int PyDict_SetItemString(PyDictObject *p, char *key, PyObject *val)
Inserts value into the dictionary using key as a key. key should be a char *. The key object is created using PyString_FromString(key).

int PyDict_DelItem(PyDictObject *p, PyObject *key)
Removes the entry in dictionary p with key key. key is a PyObject.

int PyDict_DelItemString(PyDictObject *p, char *key)
Removes the entry in dictionary p which has a key specified by the char *key.

PyObject* PyDict_GetItem(PyDictObject *p, PyObject *key)
Returns the object from dictionary p which has a key key. Returns NULL if the key key is not present.

PyObject* PyDict_GetItemString(PyDictObject *p, char *key)
Does the same, but key is specified as a char *, rather than a PyObject *.

PyObject* PyDict_Items(PyDictObject *p)
Returns a PyListObject containing all the items from the dictionary, as in the mapping method items() (see the Python Library Reference).

PyObject* PyDict_Keys(PyDictObject *p)
Returns a PyListObject containing all the keys from the dictionary, as in the mapping method keys() (see the Python Library Reference).

PyObject* PyDict_Values(PyDictObject *p)
Returns a PyListObject containing all the values from the dictionary p, as in the mapping method values() (see the Python Library Reference).

int PyDict_Size(PyDictObject *p)
Returns the number of items in the dictionary.

int PyDict_Next(PyDictObject *p, int ppos, PyObject **pkey, PyObject **pvalue)

guido@python.org