Skip to main content

Dictionary that support slicing and multiple key selection

Project description

sliceable-dict

A simple dictionary that support slicing and multiple key selection.

Installation and requirements

sliceable-dict requires Python 3.7+ to run and can be installed by running

pip install sliceable-dict

Usage

The provided class SliceDict is an extended dictionary. It behaves exactly as the buildin dict for single (hashable) keys, but adds some additional features. Namely, getting and setting multiple keys at once, slicing with integers and boolean selection.

An example usage:

>>> from sliceable_dict import SliceDict
>>> d = SliceDict(zero=0, one=1)
>>> d
{'zero': 0, 'one': 1,}

# multi-key support 
>>> d[['two', 'three']] = 2, 3
>>> d[['one', 'three']]
{'one': 1, 'three': 3}

# slicing
>>> d[:]
{'zero': 0, 'one': 1, 'two': 2, 'three': 3}
>>> d[1:-1]
{'one': 1, 'two': 2}
>>> d[1::2]
{'one': 1, 'three': 3}

# boolean selection
>>> bool_list = [True, False, True, False]
>>> selection = d[bool_list]
>>> selection
{'zero': 0, 'two': 2}

# views as for buildin dict
>>> kv = selection.keys()
>>> kv
KeysView({'zero': 0, 'two': 2})
>>> list(kv)
['zero', 'two']

>>> vv = selection.values()
>>> vv
ValuesView({'zero': 0, 'two': 2})
>>> list(vv)
[0, 2]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sliceable_dict-0.4.1.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

sliceable_dict-0.4.1-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file sliceable_dict-0.4.1.tar.gz.

File metadata

  • Download URL: sliceable_dict-0.4.1.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for sliceable_dict-0.4.1.tar.gz
Algorithm Hash digest
SHA256 4b70465c66a857418b5b01f8d7a4492ccc278cba5d994ecb7a37a42994639f83
MD5 40377331c98a0310ec115a6d980c18b4
BLAKE2b-256 e9e779d3fedda50d9dc94f46d08d9f8b03d3d5f50f493e61c4aa85be4039f572

See more details on using hashes here.

File details

Details for the file sliceable_dict-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for sliceable_dict-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6c2e4058153b55f53001670d3b50784c66474557bf5d6004658df303291afe27
MD5 a0bee78ec82a3f045ef5cd4b53b79b34
BLAKE2b-256 569ecd5093b21367486a6dce772f4283bcaa2d1dc1670ec7de10ed216ceca284

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page