We use cookies on this site to enhance your user experience
By clicking the Accept button, you agree to us doing so. More info on our cookie policy
We use cookies on this site to enhance your user experience
By clicking the Accept button, you agree to us doing so. More info on our cookie policy
Published: Oct 8, 2019 by marc
Maps in Python are called dict. To create one, you have to choose an hashable object as key and a value.
What is an hashable object?
An hashable object is an object with a hash which never changes during its lifetime. Such objects are called immutable.
Python offers the following hashable built-in objects.
Create a simple dict with a int key and a string value. Then print the content of the key 1.
>>> mydict = {}
>>> mydict[1] = "Alice"
>>> print(mydict[1])
Alice
In some cases we need a dict that as a list as key. For example:
>>> mylist = ["Alice","Bob"]
>>> mydict = {}
>>> mydict[mylist] = 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
In order to make a list (or another non-hashable object) hashable, you can use tuple.
>>> mylist = ["Alice","Bob"]
>>> mydict = {}
>>> mydict[tuple(mylist)] = 1
>>> print(mydict)
{('Alice', 'Bob'): 1}
Share