<p>Does anyone know how the built in dictionary type for python is implemented?  My understanding is that it is some sort of hash table, but I haven't been able to find any sort of definitive answer.</p>

Python Dictionaries use
Open addressing
(
reference inside Beautiful code
)
NB!
Open addressing
, a.k.a
closed hashing
should, as noted in Wikipedia, not be confused with its opposite
open hashing!
Open addressing means that the dict uses array slots, and when an object's primary position is taken in the dict, the object's spot is sought at a different index in the same array, using a "perturbation" scheme, where the object's hash value plays part.