Defines various data structures classes:
Bases: _abcoll.MutableMapping
Implements a mutable mapping / dict like object where numeric keys are stored with an arbitrary precision.
Parameters: |
|
---|
Examples
>>> data1 = {0.1999999998: 'Nemo', 0.2000000000: 'John'}
>>> apm1 = ArbitraryPrecisionMapping(data1, key_decimals=10)
>>> # Doctests skip for Python 2.x compatibility.
>>> tuple(apm1.keys())
(0.1999999998, 0.2)
>>> apm2 = ArbitraryPrecisionMapping(data1, key_decimals=7)
>>> # Doctests skip for Python 2.x compatibility.
>>> tuple(apm2.keys())
(0.2,)
Returns if the mapping contains given item (rounded if numeric).
Parameters: | item (unicode) – Item (rounded if numeric) name. |
---|---|
Returns: | Is item in mapping. |
Return type: | bool |
Notes
Deletes the item (rounded if numeric) with given value.
Parameters: | item (unicode) – Item (rounded if numeric) name. |
---|
Notes
Returns the value of given item (rounded if numeric).
Parameters: | item (unicode) – Item (rounded if numeric) name. |
---|---|
Returns: | Item value. |
Return type: | object |
Notes
Iterates over the items (rounded if numeric) names in the mapping.
Returns: | Item names. |
---|---|
Return type: | generator |
Notes
Returns the items count.
Returns: | Items count. |
---|---|
Return type: | int |
Notes
Sets given item (rounded if numeric) with given value.
Parameters: |
|
---|---|
Returns: | Item value (rounded if numeric). |
Return type: | object |
Notes
Property for self.__key_decimals private attribute.
Returns: | self.__key_decimals. |
---|---|
Return type: | unicode |
Bases: dict
Defines an object similar to C/C++ structured type.
Parameters: |
|
---|
References
[1] | Mansencal, T. (n.d.). Structure. Retrieved from https://github.com/KelSolaar/Foundations/blob/develop/foundations/data_structures.py |
Examples
>>> person = Structure(first_name='Doe', last_name='John', gender='male')
>>> # Doctests skip for Python 2.x compatibility.
>>> person.first_name
'Doe'
>>> sorted(person.keys())
['first_name', 'gender', 'last_name']
>>> # Doctests skip for Python 2.x compatibility.
>>> person['gender']
'male'
Deletes both key and sibling attribute.
Parameters: | attribute (object) – Attribute. |
---|
Notes
Deletes both key and sibling attribute.
Parameters: | attribute (object) – Attribute. |
---|
Notes
Returns given attribute value.
Parameters: | attribute (unicode) – Attribute name. |
---|
Notes
Returns: | Attribute value. |
---|---|
Return type: | object |
Raises: | AttributeError – If the attribute is not defined. |
Sets both key and sibling attribute with given value.
Parameters: |
|
---|
Notes
Sets both key and sibling attribute with given value.
Parameters: |
|
---|
Notes
Updates both keys and sibling attributes.
Parameters: |
|
---|
Notes
Bases: dict
Extends dict type to provide a lookup by value(s).
References
[2] | Mansencal, T. (n.d.). Lookup. Retrieved from https://github.com/KelSolaar/Foundations/blob/develop/foundations/data_structures.py |
Examples
>>> person = Lookup(first_name='Doe', last_name='John', gender='male')
>>> person.first_key_from_value('Doe')
'first_name'
>>> persons = Lookup(John='Doe', Jane='Doe', Luke='Skywalker')
>>> sorted(persons.keys_from_value('Doe'))
['Jane', 'John']
Gets the first key with given value.
Parameters: | value (object) – Value. |
---|---|
Returns: | Key. |
Return type: | object |
Gets the keys with given value.
Parameters: | value (object) – Value. |
---|---|
Returns: | Keys. |
Return type: | object |
Bases: _abcoll.MutableMapping
Implements a case-insensitive mutable mapping / dict object.
Allows values retrieving from keys while ignoring the key case. The keys are expected to be unicode or string-like objects supporting the str.lower() method.
Parameters: |
|
---|
Warning
The keys are expected to be unicode or string-like objects.
References
[3] | Reitz, K. (n.d.). CaseInsensitiveDict. Retrieved from https://github.com/kennethreitz/requests/blob/v1.2.3/requests/structures.py#L37 |
Examples
>>> methods = CaseInsensitiveMapping({'McCamy': 1, 'Hernandez': 2})
>>> methods['mccamy']
1
Returns if the mapping contains given item.
Parameters: | item (unicode) – Item name. |
---|---|
Returns: | Is item in mapping. |
Return type: | bool |
Notes
Deletes the item with given name.
The item is deleted from the mapping using its lower name.
Parameters: | item (unicode) – Item name. |
---|
Notes
Returns the equality with given object.
Parameters: | item – Object item. |
---|---|
Returns: | Equality. |
Return type: | bool |
Notes
Returns the value of given item.
The item value is retrieved using its lower name in the mapping.
Parameters: | item (unicode) – Item name. |
---|---|
Returns: | Item value. |
Return type: | object |
Notes
Iterates over the items names in the mapping.
The item names returned are the original input ones.
Returns: | Item names. |
---|---|
Return type: | generator |
Notes
Returns the items count.
Returns: | Items count. |
---|---|
Return type: | int |
Notes
Returns the inequality with given object.
Parameters: | item – Object item. |
---|---|
Returns: | Inequality. |
Return type: | bool |
Notes
Returns the mapping representation with the original item names.
Returns: | Mapping representation. |
---|---|
Return type: | unicode |
Notes
Sets given item with given value.
The item is stored as lower in the mapping while the original name and its value are stored together as the value in a tuple:
{“item.lower()”: (“item”, value)}
Parameters: |
|
---|
Notes
Returns a copy of the mapping.
Returns: | Mapping copy. |
---|---|
Return type: | CaseInsensitiveMapping |
Notes
Iterates over the lower items names.
Returns: | Lower item names. |
---|---|
Return type: | generator |