Dictionary keys must be hashable (immutable):
Valid keys: strings, numbers, tuples (if contents are hashable)
d = {}
d["name"] = "Alice" # String key - OK
d[42] = "answer" # Number key - OK
d[(1, 2)] = "point" # Tuple key - OK
Invalid keys: lists, dictionaries, sets
d[[1, 2]] = "list" # Error! Lists can't be keys
Lists are mutable. If a key could change, Python couldn't find it anymore.