Difference between map and dict Difference between map and dict python python

Difference between map and dict


Map is not a datatype in python. It applies a function to a series of values and returns the result.

>>> def f(x):...     return x**2... >>> list(map(f, range(5)))[0, 1, 4, 9, 16]

Often for a simple case like that to be "pythonic" we use list comprehensions.

>>> [x**2 for x in range(5)][0, 1, 4, 9, 16]

You are right in your comparison of hashmaps and dicts.


In essence a Map in Java is like a dict in Python: both data structures create associations between keys and values, with expected O(1) performance for the get() and contains() operations.

The Map data structure in Java should not be confused with the map() function in Python:

map(function, iterable, ...)

Apply function to every item of iterable and return a list of the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel


Nolen's answer is for Python 2.

In Python 3, map is an iterable datatype, equivalent to what is returned by itertools's imap in Python 2.

To get the same result as the first Python 2 example above in Python 3, you would write:

>>> def f(x):...     return x**2... >>> list(map(f, range(5)))[0, 1, 4, 9, 16]