python – Difference between map and dict
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
python – Difference between map and dict
Nolens answer is for Python 2.
In Python 3, map is an iterable datatype, equivalent to what is returned by itertoolss 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]