A hash function maps a hashable Python object to an integer hash value. Python uses hashable objects as dictionary keys; the hash supports key uniqueness and fast lookup. section 5.1
Think of hashing as directing a lookup to a numbered location. Searching a string, list, or tuple may inspect values one by one, taking O(n) time; a dictionary can use the hash to target a location in O(1) time as the collection grows. section 5.1 section 5.1
Numbered-office lookup
Assign each last-name initial to a numbered office: A maps to 1, B to 2, and S to 19. A visitor looking for Ms. Smith calculates 19 and goes directly there instead of checking every office. section 5.1















