Making Python's `dict` easier to work with by adding object notation and grouping
Project description
EZDict
Making Python's dict easier to work with by adding object notation and grouping.
- Allows keys to be accessed as attributes, so
ezdict.attrcan be used instead ofezdict["attr"]. Note, this only works with string keys. Additionally, any keys that overlap with method names will be shadowed, so to access the keykeys, useezdict["keys"]instead ofezdict.keys. - Provide two methods,
incrementerandappender, to support the common operations of counting the occurrences of a key and grouping values by a key, respectively.
Installation
pip install ezdict
Import
from ezdict import EZDict
Usage
Accessing Keys as Attributes
from ezdict import EZDict
ez = EZDict({
"id": "5e2797c05aa0585816ce8b8c",
"title": "EZDict",
"description": "Super cool Python package",
"author": "Jacob Morris (BlendingJake)",
"meta": {
"created": "March 27th, 2020"
}
})
print(ez.title) # >>> "EZDict"
print(ez.meta.created) # >>> "March 27th, 2020"
Grouping/Counting Like a Pro
from ezdict import EZDict
# tried of this?
iterable = [ ... ]
grouped = {}
for item in iterable:
if item["key"] in grouped:
grouped[item["key"]] += 1
# OR grouped[item["key"]].append(item)
else:
grouped[item["key"]] = 1
# OR grouped[item["key"]] = [item]
# do this instead
iterable = [ ... ]
grouped = EZDict()
for item in iterable:
grouped.incrementer(item["key"])
# OR grouped.appender(item["key"], item)
incrementer(key, increment=1)
Increment
keybyincrementif the key has already been seen. Otherwise, set the key equal toincrement.
appender(key, value)
Append
valueto the list of values associated withkeyif that key was already been seen. Otherwise, set the key equal to[value].
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 ezdict-1.0.0.tar.gz.
File metadata
- Download URL: ezdict-1.0.0.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98f5574c2b82108d9bb8852724d6d4188e2670e0857628f523b6c267480b3e1d
|
|
| MD5 |
59324143c4564a78bbb3967a2d0fb5eb
|
|
| BLAKE2b-256 |
d686aef76cb5409fc47324b5fc9cbab748a3b00b3abba4af9d5c932d27738698
|
File details
Details for the file ezdict-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ezdict-1.0.0-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34e92c3cd28143251ab767d5a02b6cd1fb2d2133b7effa603a0941c705367c09
|
|
| MD5 |
f7ede3b0ce941b1a9ed6dd4657a998b2
|
|
| BLAKE2b-256 |
35777efaa4fb3d488c164e14ed8f9ba0bb7a3cc00f4d823d141a9d1d59f106aa
|