- Store values by a reference look-up key
- In contrast to sequential storage of list / sequences
- Underlying implementation typically a hash table
- More generally called an associative array
- Dictionaries are ideal for bookkeeping
- Dynamically tracking data and relations
- Good first tool to reach for before implementing more sophisticated data structures
- Dictionaries provide constant (amortised) time for,
- Accessing elements
- Adding new elements
- Deleting elements
- Python uses dictionaries to implement object-oriented features
- Python implements special syntax and modules to support dictionaries
- Enhance them with additional properties