A set that works with both hashable and non-hashable elements
Project description
All Purpose Set
Table of Contents
What is it?
- A set which doesn't require hashable contents
Why create it?
-
I often have a need to store non-hashable contents in a set. For example storing a dict isn't possible with the builtin set.
# doesn't work someDict = { "key": "value" } someSet = { someDict }
Simple usage
from all_purpose_set import ApSet
someDict = { "key": "value" }
someSet = ApSet([someDict])
print(someDict in someSet) # prints True
See also
Api
Note: This api is young and subject to change quite a bit. There also may be functionality present in the builtin set which this set doesn't cover. I'm willing to add it so please just raise a github issue or PR with details.
class ApSet([a list])
- all methods return
selfunless specified otherwise - iterates in the order of insertion
- currently the internal methods implemented are
- __contains__
- __iter__
- __len__
add(something)
clear()
has(something) => bool
- a function alternative to
key in aSet
remove(something)
- raises a
KeyErrorif the element doesn't exist
Test
#
# you must have poetry installed
#
$ poetry shell
$ poetry install
$ python runTests.py
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 Distribution
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 all_purpose_set-0.1.10.tar.gz.
File metadata
- Download URL: all_purpose_set-0.1.10.tar.gz
- Upload date:
- Size: 178.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.15 CPython/3.7.1 Linux/5.1.2-arch1-1-ARCH
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abc26982d71973a1cd27c20eb1e889e228fe26804a5deeffab00ff3cd9dfd6d2
|
|
| MD5 |
83e6254fba7867872aa9549c8112679c
|
|
| BLAKE2b-256 |
7104c14bf8be22f2febc64d34d2789aaad36f1c14012fc32d6059ddcb053a144
|
File details
Details for the file all_purpose_set-0.1.10-py3-none-any.whl.
File metadata
- Download URL: all_purpose_set-0.1.10-py3-none-any.whl
- Upload date:
- Size: 208.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.15 CPython/3.7.1 Linux/5.1.2-arch1-1-ARCH
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ea32c0ca5937e22753b4f2d9ac7633fff47c605095f0ff58ae076fc5297cb09
|
|
| MD5 |
ec9bd4eb47c66508eebb73ba0355cb8c
|
|
| BLAKE2b-256 |
5ffa79ddcc203fe515cab78cc44b637257ca2a20d5e452129da453ae152225fb
|