Hash Map in Python

I want to implement a HashMap in Python. I want to ask a user for an input. depending on his input I am retrieving some information from the HashMap. If the user enters a key of the HashMap, I would like to retrieve the corresponding value.

Difference between Python’s collections.Counter and nltk.probability.FreqDist

I want to calculate the term-frequencies of words in a text corpus. I’ve been using NLTK’s word_tokenize followed by probability.FreqDist for some time to get this done. The word_tokenize returns a list, which is converted to a frequency distribution by FreqDist. However, I recently came across the Counter function in collections (collections.Counter), which seems to be doing the exact same thing. Both FreqDist and Counter have a most_common(n) function which return the n most common words. Does anyone know if there’s a difference between these two? Is one faster than the other? Are there cases where one would work and the other wouldn’t?