Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Case-insensitive dictionary
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
dicti
.gitignore
AGPL
AUTHORS.md
HISTORY.md
LICENSE
MANIFEST
MANIFEST.in
README.md
README.txt
setup.py

README.md

dicti

dicti is a dictionary with case-insensitive keys.

It works like the normal dict except that key matching is case-insensitive.

Installing

pip install dicti

Creating

Import dicti.

from dicti import dicti

Then instantiate dicti like you would a normal dict; for example, these work.

dict(foo = 'bar', answer = 42)
dicti(foo = 'bar', answer = 42)

dict({'foo': 'bar', 'answer': 42})
dicti({'foo': 'bar', 'answer': 42})

Retrieving keys

You can retrieve an item with a case-insensitive match.

di = dicti()
di['cAsE'] = 1
di['case'] == di['CASE']

Methods that record keys record the original case, just as a normal dictionary does.

di = dicti()
di['cAsE'] = 1
di.keys() == ['cAsE']
di['Case'] = 1
di.keys() == ['Case']
di['caSE'] == 1

Keys are still stored in their original case, however; the original keys are presented when you request them with methods like dicti.keys.

Something went wrong with that request. Please try again.