Python abstract data structure (ADT) extension
Project description
adt-extension
Python abstract data structure (ADT) extension.
Install:
pip install adt-extension
Import:
from adt_extension import Set, SwitchDict
Extensions
Currently the package have the ADT extensions:
| Class | Extension of | Description |
|---|---|---|
Set |
set |
Set with element type and validation rule. |
SwitchDict |
dict |
Dictionary with the possibility of behavior of a switch case. |
Set
Set with element type and validation rule for the elements that will be inserted into the set.
Example:
from adt_extension import Set
# A set with only even integers
set_int_even = Set(element_type=int, rule=lambda x: (x % 2 == 0))
# Elements that satisfies the element type and validation rule
set_int_even.update({4, 6})
# Elements that satisfies the element type, but not validation rule
set_int_even.update({5})
# Elements that not satisfies the element type
set_int_even.update({"qwe", True})
print(set_int_even)
# Output:
# Set({4, 6})
# Remove element type
set_int_even.element_type = None
# Remove validation rule
set_int_even.rule = None
SwitchDict
Dictionary with the possibility to perform a function or return a value when trying to access a nonexistent index in the dictionary class.
Example:
from adt_extension import SwitchDict
# Same behavior of a normal dictionary
switch_dict = SwitchDict({
'Apartament': 125,
'House': 250,
'Condominium': 300,
})
# Add default case
switch_dict.default_case = 999
# List example
properties_list = [
'Apartament',
'House',
'Condominium',
'Treehouse',
'Hotel',
]
# Get values
properties_values = [ switch_dict[ x ] for x in properties_list ]
print(properties_values)
# Output:
# [ 125, 250, 300, 999, 999 ]
# Remove default case, becomes a normal dictionary
switch_dict.default_case = None
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adt_extension-0.2.0-py3-none-any.whl.
File metadata
- Download URL: adt_extension-0.2.0-py3-none-any.whl
- Upload date:
- Size: 3.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7434dc27223a4450f82092048a13d36d6e8a08102a04cd675b58bd5c48e96d1
|
|
| MD5 |
793030ad88a3866b43a54ef340160657
|
|
| BLAKE2b-256 |
71939660444043d6824949902b14574295b66c4a8737a2c7b6e7f24c63630fb7
|