FrontPage
»
BTreesAPI
BTrees, Buckets
- All mapping types implement a dictionary-like API. That means
all known dictionary methods work on BTrees? instances:
- keys() -- return a sequence containing the keys
- values() -- return a sequence containing the values
- items() -- return a sequence of tuples (key,value) ordered by key
- __getitem__(key) -- return the value for key
- __setitem__(key,value) -- set the value for a given key
- __delitem__(key) -- remove the key
- __len__() -- returns the number of elements in the BTree
- has_key(key) - return 1 if key exists, otherwise 0
- get(key, default) - return the value for key or the default value
- update(mapping) - insert every (key, value) pair into the BTree
- insert(key,value) - insert a (key, value) into the BTree.
The BTree is not changed when key is already in the BTree. In this case insert() returns 0. Otherwise (key,value) is inserted and insert() returns 1.
Remark: only available for BTree objects and not for Bucket objects
- Additional API unique to BTrees?:
- byValue() -- like items(), returns a sequence of tuples, but returns (value, key) instead of (key, value) in the returned list, and ordered by value.
Sets, TreeSets
- The BTrees? set datatypes act as a mutable sequence (similiar to
lists) but with the following differences compared to Python sequences:
- all elements of a set are unique
- elements are sorted
Sets implement the following functions:
- __len__() -- returns the number of items in set
- insert(item) -- inserts a new item
- remove(item) -- removes an item
- index(item) -- returns the position of item in set
- update(sequence) -- inserts every item in sequence to the set
- __getitem__(index): -- return the key in the given index position
Used for iteration
Remark: only available for Set objects and not for TreeSet objects
- Additional API unique to BTrees?:
- minKey(min=None) -- return the minimal item from the set. If min is present, then the smallest key that is greater than or equal to min is returned
- maxKey(max=None) -- return the maximum item from the set. If max is present then the largest key that is smaller than or equal to max is returned.
- keys(min,max) -- peforms a range search and returns a list of items that a larger min and smaller than max.
Sets do not have index() method in ZODB 3.3 --[stevea]?, 2004/02/12 13:22 EST reply
Note that Sets do not have an index() method in ZODB 4 and ZODB 3.3. That method doesn't make sense for sets anyway.