## Bulk update
def update(me, stuff = None, **kw):
+ """D.update([MAP], **KW): insert mappings from MAP and KW"""
cdef unsigned f
if stuff is None:
pass
raise KeyError, key
me._del(e)
def get(me, key, default = None):
+ """D.get(KEY, [default = None]) -> VALUE: value at KEY, or DEFAULT"""
cdef void *e
e = me._find(key, NULL)
if not e:
return default
return me._value(e)
def setdefault(me, key, default = None):
+ """
+ D.setdefault(KEY, [default = None]) -> VALUE:
+ return value at key, or store DEFAULT at key and return that"""
cdef void *e
cdef unsigned f
e = me._find(key, &f)
me._setval(e, default)
return default
def pop(me, key, default = None):
+ """
+ D.pop(KEY, [default = None]) -> VALUE:
+ return value at key or DEFAULT, and remove KEY"""
cdef void *e
e = me._find(key, NULL)
if not e:
me._del(e)
return rc
def popitem(me):
+ """D.popitem() -> KEY, VALUE: return and remove an association pair"""
cdef _MapIterator i
cdef void *e
i = me._iter()
return l
def keys(me):
+ """D.keys() -> LIST: return a list of known keys"""
return me._list(_map_key)
def values(me):
+ """D.values() -> LIST: return a list of known values"""
return me._list(_map_value)
def items(me):
+ """D.values() -> LIST: return a list of known (KEY, VALUE) pairs"""
return me._list(_map_item)
def clear(me):
+ """D.clear(): remove all mappings"""
cdef _MapIterator i
cdef void *e
i = me._iter()
def __iter__(me):
return MapKeyIter(me)
def iterkeys(me):
+ """D.iterkeys() -> ITER: return iterator over keys"""
return MapKeyIter(me)
def itervalues(me):
+ """D.itervalues() -> ITER: return iterator over values"""
return MapValueIter(me)
def iteritems(me):
+ """D.iteritems() -> ITER: return iterator over (KEY, VALUE) pairs"""
return MapItemIter(me)
cdef class MapIterBase: