The values of a dictionary can be arbitrary data types.
The keys can only be instances of immutable data types,
e.g. integers, floats, strings, and tuples but no dictionaries or lists.
>>> dic = { [1,2,3]:"abc"}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: list objects are unhashable
Tuples as indices are okay:
>>> dic = { (1,2,3):"abc", 3.1415:"abc"}
>>> dic
{3.1415: 'abc', (1, 2, 3): 'abc'}